【问题标题】:PSWindowsUpdate File Not Found ExceptionPSWindowsUpdate 文件未找到异常
【发布时间】:2019-06-26 07:51:51
【问题描述】:

我最近将 PSWindowsUpdate 从版本 1.6.1.1 更新到最新版本 (2.1.0.1),当我尝试运行脚本时:

Write-Host "      Centralized Update"
Write-Host "================================"

ipmo activedirectory
$computers = Get-ADComputer -Filter {enabled -eq $true} -properties * -SearchBase "OU=Workstations, DC=contoso, DC=com" | select name
$Script = {ipmo PSWindowsUpdate; Get-WUInstall -AcceptAll -Install -Verbose}

foreach ($computer in $computers) {
    Write-Host "Running update on:" $computer.name
    Invoke-WUJob -ComputerName $computer.name -Script $Script -Confirm:$false -RunNow
}

Write-Host "================================"
pause

我收到以下错误:

Invoke-WUJob : The system cannot find the file specified. (Exception from HRESULT: 0x80070002)
At C:\Users\Administrator\Desktop\Update_Workstations.ps1:10
char:2
+     Invoke-WUJob -ComputerName $computer.name -Script $Script -Confir ...
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Invoke-WUJob], FileNotFoundException
    + FullyQualifiedErrorId : System.IO.FileNotFoundException,PSWindowsUpdate.InvokeWUJob

对脚本的唯一修改是更改:

Invoke-WUInstall -ComputerName $computer.name -Script $Script -Confirm:$false

收件人:

Invoke-WUJob -ComputerName $computer.name -Script $Script -Confirm:$false -RunNow

更多细节:

  • PowerShell 版本为 5.1(客户端和服务器端)
  • 从“工作站”组织单元中正确提取了终端列表
  • 我可以通过“enter-pssession”毫无问题地连接到所有终端
  • 使用“Invoke-Command”而不是“Invoke-WUJob”运行但在下载时失败并出现错误“UnauthorizedAccessException”

代码有什么问题?在更新到 2.1.0.1 之前它工作正常

【问题讨论】:

  • 如果您运行脚本,您是否确认已加载 PSWindowsUpdate? (您可能想添加Import-Module -Name PSWindowsUpdate。另外,您能否测试Invoke-WUJob -ComputerName aComputerName -Confirm:$false -RunNow 是否在交互式shell 中运行?
  • 问题似乎是“Invoke-WUJob”命令,它从脚本和直接从控制台都有相同的错误。但是,PSWindowsUpdate 模块已正确加载,使用:Invoke-Command -ComputerName $computer.name -Script {ipmo pswindowsupdate ; get-module pswindowsupdate} 它显示了正确的版本 (2.1.0.1)。

标签: windows powershell windows-update


【解决方案1】:

我也遇到了同样的错误。经过一天的摸索,终于找到了一个 power shell 命令需要在目标服务器上运行,然后再继续执行 invoke-wujob 命令是Enable-WURemoting

【讨论】:

    猜你喜欢
    • 2019-03-29
    • 2012-01-06
    • 1970-01-01
    • 1970-01-01
    • 2016-12-03
    • 2019-09-29
    • 2018-02-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多