2013-10-08 3 views
0

Я новичок в этой powershell ... Измените ситуацию, если что-то не так.Выполнение сценария удаленной PowerShell из локальной системы

Теперь, прямо на вопрос, у меня есть сценарий powershell, хранящийся в одном из дисков, например, "D:\myfile.ps1", который находится в удаленной системе.

Теперь мне нужно выполнить этот скрипт из моей локальной системы, и это, как я сделал

ExecuteCommand(Directory.GetCurrentDirectory & "\Psexec \\myservername -i -u username -p password powershell.exe Invoke-Command -ComputerName \\myservername -FilePath D:\myscript.ps1") 

Результат показывает мне этот путь без какого-либо выхода дает мне ошибку

"powershell exited on myservername with error code 1'

enter image description here

И если запустить этот скрипт для запуска .exe на том же сервере, что он работает нормально

ExecuteCommand(Directory.GetCurrentDirectory & "\psexec \\myservername -u username -p password D:\myfile.exe") 

Так что правильный путь, чтобы выполнить мой скрипт для запуска на удаленном рабочем столе?

Обновление после предложений:

enter image description here

+0

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

+0

@ MattWilko. Основываясь на вашем предположении, я попытался запустить его как администратор, используя Start-Process powershell -Verb runAs, но это тоже дает мне тот же результат. – coder

ответ

0

Вы можете просто попробовать:

ExecuteCommand(Directory.GetCurrentDirectory & "\Psexec \\myservername -i -u username -p password powershell.exe -command "&{Invoke-Command -ComputerName \\myservername -FilePath D:\myscript.ps1}" 
+0

@ JPBlanc-Это дает мне некоторые синие точки, обозначенные как ошибки для двойных кавычек после «&». Поэтому я изменил его на этот ExecuteCommand (Directory.GetCurrentDirectory & "\ Psexec \\ имя_сервера -i -u имя_пользователя -p пароль powershell.exe -command "&" {Invoke-Command -ComputerName \\ myservername -FilePath D: \ FreeSpace.ps1} "), и теперь он дает мне как powershell, выходящий из myservername с кодом ошибки 0 и добавленный снимок экрана. – coder