簡體   English   中英

使用PsExec和C#運行遠程批處理文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM