【问题标题】:Powershell script for bulk updating Windows Updates on many pc's用于在许多 pc 上批量更新 Windows 更新的 Powershell 脚本
【发布时间】:2021-02-04 22:45:09
【问题描述】:

我有这个脚本:

Invoke-WUJob -ComputerName comp-1,comp-2,comp-3 -Script {ipmo PSWindowsUpdate; Get-WUInstall -Install -AcceptAll | Out-File C:\PSWindowsUpdate.log  } -Confirm:$false -Verbose –RunNow

执行后我得到这个:

Invoke-WUJob:目标机器上缺少 PSWindowsUpdate 模块 在行:1 字符:1 + 调用-WUJob -ComputerName 1002-hk-ws-001,1002-hk-ws-002,1002-hk-ws-0 ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ResourceUnavailable: (:) [Invoke-WUJob],异常 + FullyQualifiedErrorId : ModuleMissing,PSWindowsUpdate.InvokeWUJob

我在每台 PC 上使用以下命令安装到 PSWindowsUpdate 并设置 winrm,但仍然无法正常工作:

winrm quickconfig -q 

winrm set winrm/config/client ‘@{TrustedHosts="comp1,comp2,comp3"}’

Set-ExecutionPolicy RemoteSigned

Install-Module PSWindowsUpdate -Scope CurrentUser -Force

有什么想法吗?

【问题讨论】:

    标签: windows powershell windows-update


    【解决方案1】:

    windows update 不能远程使用,可能是硬化,你可以使用调度任务 Register-ScheduledJob -scriptblock { get-windowsupdate -acceptall}

    【讨论】:

      【解决方案2】:

      我将假设您处于工作组模式,而不是根据您所说的在每台主机上所做的加入域的机器。

      您必须是目标的管理员才能运行它。

      about_Remote_Requirements

      除非您进行其他配置。

      You Don’t Have to Be An Administrator to Run Remote PowerShell Commands

      因此,如果您尚未使用远程目标的管理员凭据运行 PowerShell 会话,则需要在代码中传递凭据。这确实是 PowerShell 远程处理 101 和一个有据可查的用例。

      您的错误是说模块不在远程主机上或找不到。

      Windows 更新是机器级别的事情。因此,导入应该是 AllUsers PowerShell 配置文件,而不是机器的某些个人用户。让 PSRemoting 在工作组系统上工作需要做额外的工作。对于加入域的主机,您可以使用 GPO 启用它。无需额外步骤。

      查看步骤:

      Enable PowerShell Remoting on a standalone (workgroup) computer

      在远程系统上运行的代码将始终在您启动的用户上下文中运行,无论远程目标上的用户是谁。

      【讨论】:

      • 好的,现在我收到了另一个错误:Invoke-WUJob:您找不到请求的文件。 (错误 HRESULT:0x80070002)在行:1 char:1 + Invoke-WUJob -ComputerName 1002-ski-ws-003,1002-ski-nb-002 -Script {i ... + ~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [Invoke-WUJob], FileNotFoundException + FullyQualifiedErrorId : System.IO.FileNotFoundException,PSWindowsUpdate.InvokeWUJob
      • 我已将远程计算机上的所有内容安装到:Windows\System32\WindowsPowerShell\v1.0\Modules\PSWindowsUpdate 但看起来它仍然看不到模块?
      【解决方案3】:

      好的,现在我遇到了另一个错误:

      Invoke-WUJob:您找不到请求的文件。 (错误 HRESULT:0x80070002) 在行:1 字符:1 + 调用-WUJob -ComputerName 1002-ski-ws-003,1002-ski-nb-002 -Script {i ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [Invoke-WUJob], FileNotFoundException + FullyQualifiedErrorId : System.IO.FileNotFoundException,PSWindowsUpdate.InvokeWUJob

      我已将远程计算机上的所有内容安装到:Windows\System32\WindowsPowerShell\v1.0\Modules\PSWindowsUpdate,但它看起来仍然看不到模块?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-06-27
        • 2022-10-13
        • 1970-01-01
        • 2014-08-01
        • 1970-01-01
        • 1970-01-01
        • 2020-01-15
        相关资源
        最近更新 更多