[英]Running remote batch file with PsExec and C#
我正在嘗試使用PsExec運行遠程批處理文件(已位於遠程計算機上),該文件通過C#中的Process調用。 我已經確認所有必需的文件已經存在,但是相信我的語法可能有問題,因為重定向的輸出表明找不到指定的文件。
運行PsExec的機器是動態的,它是myArray [0] .MachineName值(該值不會出現問題)。
wsStopProcess.StartInfo.FileName = @"C:\Windows\system32\PsExec.exe";
wsStopProcess.StartInfo.Arguments = @" \\" + myArray[0].MachineName + @"D:\stopprofile.bat";
wsStopProcess.StartInfo.UseShellExecute = false;
wsStopProcess.StartInfo.CreateNoWindow = true;
wsStopProcess.StartInfo.RedirectStandardOutput = true;
wsStopProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
wsStopProcess.Start();
關於格式錯誤的任何想法? 我猜它某處的反斜杠太多(或不夠!)。
我認為主要的問題是兩個參數之間沒有空格。
嘗試這個:
wsStopProcess.StartInfo.Arguments = @"\\" + myArray[0].MachineName + @" D:\stopprofile.bat";
我還要警告您,盡管嘗試了許多不同的操作,但我無法使psexec正常工作100%。
嘗試這個:
wsStopProcess.StartInfo.Arguments = @"\\" + myArray[0].MachineName + @" D$\stopprofile.bat";
因此,不要使用:
嘗試$
符號。 在調試的同時在上面的行中設置斷點將幫助您查看確切的路徑。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.