Не удается установить Chrome удаленно с помощью сценария powershell, даже если не возвращается ошибка - PullRequest
0 голосов
/ 03 июля 2018

Я пытаюсь установить Google Chrome на удаленный сервер, но когда я запускаю свой скрипт, ошибка не возвращается, и все же MSI не устанавливает программное обеспечение автоматически. Этот скрипт может работать локально, но не удаленно.

Вот скрипт:

$msi = "MSI path"

Invoke-Command -ComputerName RemoteServer -ScriptBlock {param($msi) Start-Process msiexec.exe -Wait -ArgumentList "/I (MSI Path) /qn /passive"} -ArgumentList $msi

Любая помощь или обратная связь приветствуется.

Ответы [ 2 ]

0 голосов
/ 03 июля 2018

Не удалось заставить работать мой скрипт, так как это проблема с правами доступа на удаленном сервере. С тех пор это было решено.

0 голосов
/ 03 июля 2018

Я не уверен, но я думаю, что ваша проблема в том, что вы используете $msi как локальную и как удаленную переменную. Варианты буксировки:

  1. Для переменных только для чтения вы используете ключевое слово "Using"

Подробнее см. about_remote_variables . Если вам нужно только прочитать значение из переменной, вы можете сделать следующее:

$msi = "MSI path"

Invoke-Command -ComputerName RemoteServer -ScriptBlock { Start-Process msiexec.exe -Wait -ArgumentList "/I $Using:msi /qn /passive"}

Здесь вам не нужен ArgumentList -параметр Invoke-Command.

  1. Добавить суффикс _remote к удаленным переменным

Это всего лишь стиль, который я использую в своих скриптах, чтобы различать локальные и удаленные переменные.

$msi = "MSI path"

Invoke-Command -ComputerName RemoteServer -ScriptBlock {param($msi_remote) Start-Process msiexec.exe -Wait -ArgumentList "/I $msi_remote /qn /passive"} -ArgumentList  $msi

Надеюсь, это поможет.

...