運行PowerShell腳本我有一個PowerShell腳本,它的作品,因爲我已經在服務器上手動執行它。但我無法從我們的一臺服務器上的C#代碼中工作。它可以在其他兩臺計算機上使用代碼工作,但不能在需要執行它的服務器上使用。無法在我們的服務器之一,從C#代碼
執行腳本代碼:
var process = new Process();
process = Process.Start("C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\Powershell.exe", "C:\\CC\\Script\\script.ps1");
我曾嘗試與其他的變化,但我們正在運行的PowerShell v1.0和它不支持的解決方案: https://blogs.msdn.microsoft.com/kebab/2014/04/28/executing-powershell-scripts-from-c/
由於代碼的工作兩臺電腦,但不在我們需要使用它的服務器上,我檢查了執行策略,並且它們都是「RemoteSigned」。
任何想法可能是什麼嗎?它會對另一組代碼產生什麼影響嗎?對於PowerShell v1.0,您是否可以使用代碼替代我的代碼?任何其他政策可能會有所作爲?
日Thnx提前
你得到一個錯誤信息? – stuartd
我沒有確切的錯誤消息atm。但是我在C#代碼中輸出了標準錯誤,並且只是說過程從未開始。所有腳本本身都會創建一個包含進程信息的文件夾,但不會創建文件夾。所以,腳本根本不會被執行。儘管如此,我仍然沒有在我的catch塊中得到任何異常,退出代碼只是給了我一個「1」。 –
腳本運行的帳戶是否在該服務器上具有適當的權限?任何適用於服務器事件日誌的東西? – stuartd