我需要在遠程計算機上執行程序,所以我創建了一個服務以便調用psexec(這對使用該服務非常重要)。但是,此服務無法調用psexec。使用C#中的服務執行psexec服務#
下面的代碼:
String cmd = "", arguments = "";
cmd = @"C:\PsTools\psexec.exe";
arguments = @"\\remoteComputer -u "user" -p "password" "C:\program.exe"";
Process process = new Process();
process.StartInfo.FileName = cmd;
process.StartInfo.Arguments = arguments;
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.RedirectStandardError = true;
process.StartInfo.CreateNoWindow = true;
process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
process.Start();
result = process.StandardOutput.ReadToEnd();
sError = process.StandardError.ReadToEnd();
result += "Program has finished its execution";
不要任何人知道爲什麼服務不能調用PSEXEC?
你看到什麼錯誤? – Lazarus
psexec只是「掛」的呼叫? –
服務必須以允許訪問此目錄的權限運行。當沒有用戶登錄時,服務也在運行。 – nabuchodonossor