VB.net - Adminrechte übergeben?

TheOnly1

RBTV | ngb | BMG
Registriert
14 Juli 2013
Beiträge
4.149
Ort
Zimmer 237
Hallo,

ich bastel gerade an einem Tool, aus dem heraus im weiteren Verlauf quasi eine weitere EXE gestartet wird.

Ich habe meinem Tool schon mit [src=vbnet]requestedExecutionLevel level="requireAdministrator"[/src] gesagt, dass es Adminrechte benötigt.
So.
Nun braucht die EXE die ich aus dem Tool heraus starten möchte, ebenfalls Adminrechte.
Kann ich die einmal von Windows "erteilte" Admin-Berechtigung irgendwie "übergeben", so das ich nicht noch ein weiteres mal von der Benutzerkontensteuerung belästigt werde?`

Gestartet wird die EXE aus dem Tool heraus aktuell mit
[src=vbnet]Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

System.Diagnostics.Process.Start("xxx\xxx.exe")

End Sub[/src]
 
Kannst Du bei der 2. exe
[src=vbnet]requestedExecutionLevel level="AsInvoker"[/src] einstellen, oder ist es eine beliebige (Fremd)Anwendung ?
 
  • Thread Starter Thread Starter
  • #3
Ist ne Fremdanwendung auf die ich keinerlei Einfluss habe.

Ich habe aber gerade in diesem Moment durch einen "Tipp" den ich bekommen habe die Lösung gefunden:

[src=vbnet] If System.Environment.OSVersion.Version.Major >= 6 Then ' Windows Vista or higher
processStartInfo.Verb = "runas"
Else
' No need to prompt to run as admin
End If[/src]

Das funktioniert.
 
  • Thread Starter Thread Starter
  • #5
Das ist eine gute Frage.
Ich teste das gerade nur auf Win 8.1...
XP dürfte da mMn aber eh nicht so rumzicken mit dem UAC...

Im Zweifelsfall erkläre ich WinXP einfach als "nicht mehr supported". ;)
 
XP hat ja noch keine UAC, oder? Da wars doch wenn ich mich nicht täusche immer automatisch als Admin, sobald der Admin der ausführende Account war. Deswegen schreibt der Kommentator im Code ja auch 'Else no need to prompt to run as Admin.
 
Zurück
Oben