Недавно я обновил 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
To:
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
без чего-либо еще в интерактивной оболочке? - person vrdse   schedule 02.02.2019Invoke-Command -ComputerName $computer.name -Script {ipmo pswindowsupdate ; get-module pswindowsupdate}
он показывает правильную версию (2.1.0.1). - person Danfossi   schedule 02.02.2019