Das neue Benutzerkontensicherheitsprinzip ab Vista kennen ja sicher alle. Wird eine ausführbare Datei oder ein Programm mit einem Klick oder Doppelklick geöffnet, sei es in einem Administratorkonto oder nicht, wird das Programm selbst nicht mit Administratorrechten ausgeführt. Erst wenn man über Rechtsklick -> Als Administrator ausführen nutzt wird das Programm auch wirklich mit Administratorrechten ausgeführt.
Dafür gibt es in Vista und 7 Integrity Level, verschiedene Sicherheitsstufen. Folgende Level existieren:
- Trusted Installer
- System (operating system processes)
- High (administrators)
- Medium (non-administrators)
- Low (temporary Internet files)
- Untrusted
Auf Deutsch nennen sich die Gruppen etwas anders, hier ist von „Niedrige Verbindlichkeitsstufe“, „Mittlere Verbindlichkeitsstufe“ und „Hohe Verbindlichkeitsstufe“ die Rede.
Alle Gruppen eines Benutzers seht ihr mit „whoami /groups“ in der cmd.
Wenn ihr also eure Gruppen anzeigen lasst und da steht (wahrscheinlich ganz am Ende) „Verbindliche Beschriftung\Mittlere Verbindlichkeitsstufe“ dann habt ihr die cmd normal aufgerufen, nicht als Administrator.
Wird ein Programm mit „Rechtsklick -> Als Administrator ausführen“ gestartet gehört es der Gruppe „Hohe Verbindlichkeitsstufe“ an.
Um mit einem Batch Programm auszulesen, ob ein Programm normal oder Als Administrator ausgeführt wurde, helfen folgende Zeilen:
@echo off whoami /groups | find "S-1-16-12288" > nul if errorlevel 1 goto noadmin echo Programm wurde als Administrator gestartet pause goto eof :noadmin whoami /groups | find "S-1-16-8192" > nul if errorlevel 0 echo Programm mit normalen Rechten gestartet pause goto eof