Ich habe eine Windows Form-Anwendung, die die Benutzername, Domäne und Passwort an die Startinfo, und es wirft dies liefert:.NET Prozessfehler Prozess startet mit Anmeldeinformationen (das Handle ist ungültig)
System.ComponentModel. Win32Exception: Das Handle ist ungültig bei System.Diagnostics.Process.StartWithCreateProcess (Processstartinfo) bei System.Diagnostics.Process.Start()
Wenn ich die Anmeldeinformationen erlauben den aktuellen Benutzer auf die Standard erhalte ich keine solche Fehler, und der Prozess, den ich beginne funktioniert in dem Maße, dass es keine Anmeldeinformationen verwenden muss (die Kredits sind n notwendig, um ein Laufwerk in einem MSBuild-Skript zu mappen). Hier ist der Code, der die Startinfo füllt:
Process p = new Process();
ProcessStartInfo si = new ProcessStartInfo(buildApp, buildArgs);
si.WorkingDirectory = msBuildWorkingDir;
si.UserName = txtUserName.Text;
char[] psw = txtPassword.Text.ToCharArray();
SecureString ss = new SecureString();
for (int x = 0; x < psw.Length; x++)
{
ss.AppendChar(psw[x]);
}
si.Password = ss;
si.Domain = "ABC";
si.RedirectStandardOutput = true;
si.UseShellExecute = false;
si.WorkingDirectory = txtWorkingDir.Text;
p.StartInfo = si;
p.Start();
Es ist nicht, dass der Benutzer/PSW ist nicht passend, denn wenn ich einen schlechten PSW aus, zum Beispiel, es es fängt. Also passiert diese "ungültige Handle" -Ding, nachdem das Cred übergeben wurde. Irgendwelche Ideen, was ich weglassen oder vermasseln könnte?
Wow, ja. Ich habe RedirectStandardOutput bereits auf "True" gesetzt, aber nicht auf die beiden anderen Redirects. Ich setzte die anderen beiden auf wahr und das reparierte es! Danke, @Chris Lebhaft !! – Cyberherbalist
Danke, wurde durch diese Fehlermeldung ziemlich verwirrt. – Cwoo
Prost für das - Ich hatte Spaß mit diesem. –