Ich versuche, Windows Update Patch (patch.msu) in einem Nicht-Admin-Konto mit der hier bereitgestellten Identitätswechsel-Klasse zu installieren http://stackoverflow.com/questions/125341/how-do-you-do-impersonation-in-net Ich bin hardcoding den Benutzernamen, Passowrd und Domäne des Administrator. Ich habe versucht, mehrere LogonTypes, aber keine Auswirkungen und ich bekomme den folgenden Fehler/Ausnahme.Identitätsdiebstahl zur Installation der Anwendung C#
"Entweder wurde ein erforderlicher Identitätswechsel-Level nicht bereitgestellt oder der angegebene Identitätswechsel".
Ich habe keine Ahnung, wie es weiter geht, wir müssen bestimmte Patches auf unseren Kundensystemen installieren, ohne Admin-Details an sie zu senden. Ihre Anleitung dazu wird sehr geschätzt.
Mein Codebeispiel
try
{
using (Impersonation impersonate = new Impersonation(Environment.UserDomainName,
"administrator", "XXXXXX"))
{
Process proc = new Process();
proc.StartInfo.FileName = "wusa.exe";
proc.StartInfo.Arguments = strPath;
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.RedirectStandardOutput = true;
proc.StartInfo.Verb = "runas";
proc.Start();
proc.WaitForExit();
}
}
catch (Exception e)
{
throw new Exception(e.Message);
}
Wo ist der ** tatsächliche ** Code, den Sie verwendet haben? –
Das Konto, auf dem dieser Code ausgeführt wird, muss das Benutzerrecht "Annehmen eines Clients nach Authentifizierung" aufweisen, das normalerweise nur von Konten wie LocalSystem verfügbar ist. –