Файл PSWindowsUpdate не найден, исключение

Недавно я обновил 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 работает нормально


person Danfossi    schedule 01.02.2019    source источник
comment
Вы проверили, что PSWindowsUpdate загружается, если запустить скрипт? (вы можете добавить Import-Module -Name PSWindowsUpdate. Также можете ли вы проверить, работает ли Invoke-WUJob -ComputerName aComputerName -Confirm:$false -RunNow без чего-либо еще в интерактивной оболочке?   -  person vrdse    schedule 02.02.2019
comment
Проблема, похоже, в команде Invoke-WUJob, у нее такая же ошибка как из скрипта, так и непосредственно из консоли. Однако модуль PSWindowsUpdate загружен правильно, используя: Invoke-Command -ComputerName $computer.name -Script {ipmo pswindowsupdate ; get-module pswindowsupdate} он показывает правильную версию (2.1.0.1).   -  person Danfossi    schedule 02.02.2019


Ответы (1)


Я тоже получал ту же ошибку. Почесав голову в течение дня, наконец, найдена одна команда оболочки питания, которую нужно запустить на целевом сервере, прежде чем продолжить invoke-wujob, команда будет Enable-WURemoting

person Aspak Khan    schedule 15.07.2020