[C#]Starta process som annan användare?
Tjenare.
Har ett problem med ett litet program jag håller på att skriva.
I programmet så anger jag
1:Domän
2:Användare
3:Lösenord
4: .Exe fil som ska köras
Med hjälp av dessa så vill jag kunna starta en process som vald användare.
Tex så kommer det användas för att starta en .exe fil som administratör, när nuvarande inloggad användare enbart är "normal" user.
Men problemet jag får med följande kod är "Du behöver en förhöjd behörighet"
var psi = new ProcessStartInfo();
psi.Domain = domain;
psi.UserName = _USERNAME;
System.String rawPassword = _PASSWORD;
System.Security.SecureString encPassword = new System.Security.SecureString();
foreach (System.Char c in rawPassword)
{
encPassword.AppendChar(c);
}
psi.Password = encPassword;
psi.FileName = _PATH;
psi.UseShellExecute = false;
Process.Start(psi);
Koden jag har är iprincip det som rekommenderas, när man googlar.
En annan variant är att använda "runas"med "UseshellExecute = true".
Men det medför att prompten för UAC kommer, och har man då inte rättigheter så ber ju den om lösenord, vilket personen i frågan inte ska ha tillgång till.
Så det perfekta scenariot är egentligen att programmet i frågan, har de 4 uppgifter hårdkodade.
Användaren startar mitt program, som sen möjliggör start av blabla.exe som adminanvändaren.
Har jag missat något eller går det inte gör som jag vill?