Подтвердить что ты не робот

Как выполнить powershell script, доступный на удаленном компьютере?

Я пытался выполнить script на удаленном компьютере.

Я сделал "Enable-PSremoting" на удаленной машине.

Я разместил script hello.ps1 на удаленном компьютере.

[Мой клиентский компьютер - Windows XP, а удаленный компьютер - Windows 2003)

Затем с моего клиентского компьютера я пытался выполнить script.

invoke-command -computer $MachineName -filepath "C:\hello.ps1"

Я получил следующую ошибку.

Invoke-Command: не удается найти путь "C:\hello.ps1", потому что он не существуют.

Я думаю, он пытается найти script с клиентской машины.

Если я пытаюсь запустить

invoke-command -computer $MachineName -command { C:\hello.ps1 }, он выполняет script, доступный на удаленном компьютере на стороне клиента.

Но я хотел бы выполнить удаленный script на самой удаленной машине.

Как заставить запустить script доступный на удаленном компьютере?

Обновлено:

Фактически эта команда "invoke-command -computer $MachineName -command { C:\hello.ps1 }" работает на удаленной стороне и возвращает результат на стороне клиента. Я неправильно понял, увидев возвращаемые значения, которые он выполняет на стороне клиента.

4b9b3361

Ответ 1

Когда вы пишете:

invoke-command -computer $MachineName -filepath "C:\hello.ps1"

script C:\hello.ps1 будет взят с клиентского компьютера и доставлен на сервер, который будет выполнен. Таким образом, файл ошибок не существует, потому что Invoke-Command ищет файл на клиентском компьютере.

Ответ 3

У меня был тот же самый зонд, и он решил его с комбинацией [WMICLASS] create() и Start-Process.

Проверьте мой ответ здесь.

Ответ 4

У меня такая же ошибка, но я подключил удаленный сеанс в переменной в вашем коде и, наконец, что-то работает:

$s = New-PSSession -ComputerName "WTxxxxxL32" -Credential $credential

Invoke-Command -Session $s -Command {D:\ServerDLLDev\RemoteCOMInstall.ps1}

Есть миллион Invoke-etc solutons, но простейший работал наконец для меня. Благодаря вам.