У меня есть .exe, который я хотел бы установить на большой ферме компьютеров Windows Server 2008. Я пытаюсь использовать удаленное взаимодействие Powershell. У меня есть эта команда, которая работает локально:
invoke-command {& "N:\Temp\fortify_installer\HP-Fortify-3.20-Analyzers_and_Apps-Windows-x86.exe /s /f1N:\Temp\fortify_installer\response.iss"}
Но когда я добавляю -computername
flag, кажется, что он уходит в никуда, и установщик никогда не запускается на удаленном компьютере.
Я могу запустить notepad.exe
через ту же команду, и он запускается. Это как-то связано с тем, что он установщик или что-то еще? Я понимаю, что было задано много версий этого вопроса, и я их читал, но все еще не понимаю, почему это не работает.
Команда invoke-command требует, чтобы удаленный компьютер был настроен для удаленного управления. Запуск удаленных команд
Если вы не можете настроить удаленное управление, вы можете использовать Windows Management Instrumentation (WMI) для удаленного выполнения. Выполнить программу на удаленном компьютере с помощью PowerShell
Я исхожу из предположения, что ваша команда в блоке сценариев верна. Выполнена ли команда Invoke или вам нужно убить команду? Попробуйте выполнить команду, и результаты будут возвращены в такую переменную:
$var = Invoke-Command -ComputerName <Computer> -ScriptBlock {& "N:\Temp\fortify_installer\HP-Fortify-3.20-Analyzers_and_Apps-Windows-x86.exe /s /f1N:\Temp\fortify_installer\response.iss"}
Все выглядит нормально, за исключением того, что для ясности я бы добавил параметр -scriptblock. Попробуйте поместить то, что у вас есть в блоке сценариев, в файл .PS1, а затем используйте параметр -filepath, указав расположение только что созданного сценария ps1.
Это вполне может быть проблемой интерактивного сеанса, но результаты вашей команды вызова должны дать вам это. В противном случае вам может потребоваться просмотреть журналы событий на этом удаленном компьютере и посмотреть, не появится ли там что-нибудь.
Не могли бы вы попробовать следующее:
Введите-pssession, чтобы убедиться, что ваша конфигурация удаленного взаимодействия работает
Скопируйте exe из N: (я предполагаю, что это подключенный диск на сервере) на C: или на какой-то локальный диск и снова запустите скрипт после настройки пути? Существует большая вероятность того, что двухэтапная аутентификация помешает вашему скрипту.