#powershell
Вопрос:
Я нахожусь в процессе удаленной установки обновлений Windows с помощью Powershell. Проблема в том, что, когда я вызываю сервер для запуска локального сценария PS, который установит обновления, прогресс на моем локальном компьютере продолжает восстанавливаться или появляться без конца.
Вот фрагмент кода, который я использую для вызова сервера:
Invoke-Command -ComputerName $All -Credential $Cred1 -ArgumentList $Text -ErrorAction Stop -ScriptBlock {
amp; "C:Users$($args[0])DocumentsPowershellWindowsUpdateInstallWU.ps1" -ArgumentList "--quiet" -Verb runas
}
В приведенной выше конкретной ссылке это фрагмент кода, который будет выполнять процесс установки локально:
Get-WindowsUpdate -Install -AcceptAll -IgnoreReboot
Я действительно считаю, что это может способствовать появлению нескольких индикаторов прогресса.
Как я могу установить обновления Windows с удаленного компьютера без отображения индикатора выполнения?
Будет ли возможно завершить установку?
Комментарии:
1. Это от powershellgallery.com/packages/PSWindowsUpdate/2.0.0.4 или это из существующих модулей?
Get-Command -Module WindowsUpdate,WindowsUpdateProvider
2. Это из Powershell 2.2.0.2. Get-WindowsUpdate-Install-псевдоним для Get-WuInstall.
3. Здесь просто выстрел в темноте, потому что PSWindowsUpdate-это скомпилированная библиотека dll, но что произойдет, если вы сделаете
$ProgressPreference = 'SilentlyContinue'
это перед вызовомGet-WindowsUpdate
?4. Мне успешно удалось использовать эту переменную, чтобы она не вышла из строя. Но, по какой-то причине, его все равно не установят.
5. Когда я зашел на сервер с локальным скриптом, я пошел посмотреть журнал, в котором снова и снова мигал список обновлений. Я знал, что это не было установкой или загрузкой, даже когда прогресс появлялся снова и снова.