Ich verwende den folgenden Code, um PsExec.exe aufzurufen, der meine Konsolenanwendung auf zwei Servern aufruft. Ich bin nicht in der Lage, die ProcessId der aufgerufenen Prozesse (meine Konsolenanwendungen) zu erfassen.
process.StandardOutput.ReadToEnd()); liefert mir nur die Servernamen, aber nicht den vollständigen Inhalt.
Können Sie mir bitte helfen, die von PsExec.exe generierten Prozess-IDs auf den Remote-Servern zu erhalten?
Process process = new Process();
ProcessStartInfo psi = new ProcessStartInfo(@"PsExec.exe");
psi.UseShellExecute = false;
psi.RedirectStandardOutput = true;
psi.RedirectStandardError = true;
psi.RedirectStandardInput = true;
psi.WindowStyle = ProcessWindowStyle.Minimized;
psi.CreateNoWindow = true;
psi.Arguments = @"-i -u Username -p xxxxxx \\server1,server2 C:\data\GridWorker\GridWorker.exe 100000";
process.StartInfo = psi;
process.Start();
Console.WriteLine(process.StandardOutput.ReadToEnd());