【问题标题】:powershell script to connect to multiple computers and execute some wsus related commandspowershell脚本连接多台计算机并执行一些wsus相关命令
【发布时间】:2020-01-21 11:32:41
【问题描述】:

我正在尝试设置一个 powershell 脚本以自动连接到未向 wsus 发送报告的多台客户端计算机,并执行一些 wsus 相关命令。

我想出了如何获取不再发送报告的计算机列表。这是我使用的命令:

$ClientsList = Get-WsusComputer -ComputerTargetGroups CLIENT
    -ToLastReportedStatusTime 01/01/2020 | Select-Object FullDomainName

但是现在我有了客户列表,我的问题是我不知道使用什么命令能够自动为每个客户启动“Enter-PSSession”。

当然,我可以手动提供要连接的每个客户的名称,但我想从我得到的列表开始自动管理它。

提前感谢您提供的任何帮助。

【问题讨论】:

    标签: powershell


    【解决方案1】:

    您是否尝试过使用调用命令?此 foreach 连接到您列出的每个客户端并执行 ScriptBlock 参数中的代码。

    ForEach ($Client in $ClientsList)
    {
         Try
             {
                 Invoke-Command -ComputerName $Client -ScriptBlock {YOUR CODE} -ErrorAction Stop
             }
         Catch
             {
                 Add-Content Unavailable-Clients.txt $Client
             }
    }
    

    【讨论】:

    • 谢谢 Rob,我设法使用您建议的调用命令使我的脚本正常工作。
    • invoke-command $ClientsList { 'your code' },它们将并行运行。
    • @LucaFortuna 作为 SO 新手,您可能不知道这一点,但习惯于单击左侧的 ✓ 来accept the answer that solved your problem。这将帮助其他有类似问题的人更轻松地找到它,并有助于激发人们回答您的问题。
    • 做到了。谢谢你的建议
    猜你喜欢
    • 1970-01-01
    • 2022-10-14
    • 1970-01-01
    • 1970-01-01
    • 2020-12-14
    • 1970-01-01
    • 2018-11-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多