DOS-Script - Abfrage ob als Admin gestartet

Wolfgang359

Ensign
Registriert
Nov. 2008
Beiträge
198
Hallo,
wie frage ich in einer Batch Datei ab, ob sie als Administrator gestartet wurde?

Mir fällt nur der Umweg ein, dass %cd% den Pfad c:\windows\system32 liefert
wenn als Admin gestartet wurde. Sonst wird das Quellverzeichnis der Batchdatei
geliefert. Gibt es außer diesem Workaround eine sichere Abfragemöglichkeit?
%USERNAME% funktioniert jedenfalls nicht.

Danke! Wolfgang
 
Nutze vielleicht whoami. Das liefert dir mit der Option /PRIV Berechtigungen zurück, aus
denen du dann die abfragen kannst, die du benötigst. Das ist meiner Meinung nach flexibler,
als einfach nur abzufragen ob der angemeldete Benutzer Administrator ist. Die Rechte, die du
benötigst könnte der Benutzer nämlich trotzdem haben, je nachdem wie der Administrator das
eingerichtet hat.

Eine andere Methode wüsste ich jetzt gerade nicht, aber ich kenne mich mit der NT-Konsole
leider nicht besonders gut aus :(

Außerdem redest du immer noch nicht von einem DOS-Skript sondern meinst die NT-Konsole.
Das hätte dir des weiteren auch selbst auffallen können, denn unter DOS gibt es keine Unterscheidung
zwischen Administrator und sonstigen Benutzern.

€: Und der Grund, warum %USERNAME% nicht funktioniert ist der, dass der Standardbenutzer ab
Windows Vista zwar weiterhin Administrator ist, aber sich erst per UAC-Abfrage ein Token für die
entsprechenden Berechtigungen holen muss. Wenn man also ein Programm "Als Administrator" startet,
startet es der selbe Benutzer, wie sonst auch, nur mit zusätzlichen Berechtigungstokens.
 
Zuletzt bearbeitet:
Code:
fsutil > NUL
%errorlevel% = 1 wenn Admin, 0 wenn kein Admin
 
Zuletzt bearbeitet:
Ich danke euch für die Info.
Die Variante mit whoami scheint nicht sehr praktikabel, aber die Abfrage auf fsutil funktioniert gut.
Die errorlevel sind aber umgekehrt als oben angegeben. :-)
Wolfgang
 
Zurück
Oben