Запуск установщика через Powershell и WinRM и ничего не происходит

В настоящее время я работаю над сценарием Powershell для удаленного запуска некоторых установщиков Microsoft Hotfix на нескольких серверах Windows Server 2008 R2, которыми я управляю. По сути, сценарий копирует все соответствующие файлы на сервер, а затем запускает установщик с помощью Invoke-Command, например так:

function InstallCU {
    Write-Host "Installing June 2013 CU..."
    Invoke-Command -ComputerName $ServerName -ScriptBlock {
        Start-Process "c:\aaa\prjcusp2\ubersrvprj2010-kb2817530-fullfile-x64-glb.exe" -ArgumentList "/passive"
    }
}

Если я запускаю команду "Пуск-Процесс" локально на сервере, программа установки запускается правильно. Однако при попытке запустить его удаленно ничего не происходит (на самом деле, я вижу, как установщик запускается в диспетчере задач, но он закрывается через пару секунд и не запускается).

Я попытался дать Invoke-Command -Credentials, я отключил UAC на сервере и убедился, что мои настройки WinRM (с запущенным "winrm quickconfig" и настройкой TrustedHosts равны *) верны. Я также попытался с помощью сценария Invoke-Command запустить локальный сценарий Powershell для запуска программы установки и изменить аргумент с "/passive" на "quiet" (в случае, если он не может удаленно запустить что-то, имеющее пользовательский интерфейс), но опять же, без кубиков.

Могу ли я попробовать что-нибудь еще, или я просто не смогу это сделать?

1 ответ

Решение

Ну, мне немного стыдно, но я поняла, что делаю неправильно. По сути, мне нужно было добавить параметр -Wait в командлет Start-Process. Конечный код выглядит так:

function InstallCU {
    Write-Host "Installing June 2013 CU..."
    Invoke-Command -ComputerName $ServerName -ScriptBlock {
        Start-Process "c:\aaa\prjcusp2\ubersrvprj2010-kb2817530-fullfile-x64-glb.exe" -ArgumentList "/passive" -Wait
    }
}
Другие вопросы по тегам