Я пытаюсь написать скрипт powershell, который устанавливает пакет .msi. Он принимает данные пользователя (IP-адрес и имя пользователя клиента), затем создает новый сеанс PSSession и извлекает файл с сетевого диска.
Enter-PSSession -ComputerName $destination -Credential <xxxxxx>
Invoke-Command -ScriptBlock {msiexec /i "\\CLOUD_IP\road-to\msi-location\msi_to_install.msi"}
Это главная проблема со скриптом. Как только сценарий завершается, установка запрашивает у меня на компьютере, а не на клиентском компьютере, но он все еще остается в сеансе. Пока я не выйду из сессии ни вручную, ни через скрипт.
Когда все эти строки вводятся вручную в подсказку powershell, все работает как положено.
Я попытался поместить Start-Sleep между двумя строками, поскольку для Enter-PSSession требуется немного времени, но это ничего не сделало.
$ destination - это IP-адрес пользователя, который также работает как -ComputerName , поскольку Get-PSSession показывает IP в качестве имени компьютера.