2013-10-08 105 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

這可能是一個UAC的問題?嘗試右鍵單擊並以管理員身份運行以測試此理論。 –

+0

@ MattWilko - 根據你的建議,我嘗試使用啓動過程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 \\ myservername -i -u username -p password powershell.exe -command「&」{Invoke-Command -ComputerName \\ myservername -FilePath D:\ FreeSpace.ps1}「),現在它給我的PowerShell退出myservername,錯誤代碼爲0,並添加了它的屏幕截圖。 – coder