我想創建一個實用程序來碎片整理我的網絡上的所有機器。我已經使用WMI的Defrag和DefragAnalysis方法取得了成功,但它們與Windows XP不兼容。這是一個問題,因爲我們在網絡上有一些XP機器。 我已經能夠在XP機器上本地調用defrag.exe進程來執行碎片整理,但是我在遠程機器上調用它時出現了問題。以下是我在本地工作的代碼,有人可以幫助我爲網絡中的遠程計算機做這項工作嗎?我嘗試過使用一些WMI來幫忙,但由於我對C#和WMI的新手感到失望,所以我沒有成功,謝謝!C#遠程運行defrag.exe
ProcessStartInfo info = new ProcessStartInfo();
info.FileName = "defrag";
info.Arguments = volume + " -f";
info.UseShellExecute = false;
info.CreateNoWindow = true;
info.RedirectStandardOutput = true;
Process defrag = Process.Start(info);
defrag.PriorityClass = ProcessPriorityClass.BelowNormal;
while (!defrag.HasExited)
{
System.Threading.Thread.Sleep(1000);
Process[] procs = Process.GetProcessesByName("dfrgntfs");
if (procs != null && procs.Length > 0)
{
procs[0].PriorityClass = ProcessPriorityClass.Idle;
defrag.WaitForExit();
}
result = null;
while(!defrag.StandardOutput.EndOfStream)
{
//get output and store results
}
你可能會使用這種情況下工作的錯誤工具。嘗試使用'PSTools' http://technet.microsoft.com/en-au/sysinternals/bb897553 – Serdalis