AutoIt unter Windows Vista und neuer

Mit Windows Vista wurden neue Sicherheitsfunktionen in Windows eingeführt, um das Ausführen von Dateien, die Administratorrechte benötigen, zu erschweren. Auch User mit Administratorrechten werden jedesmal um Erlaubnis gefragt, wenn eine ausführbare Datei versucht, administrative Operationen auszuführen (wie z.B. Schreibzugriffe in die Registry unter HKEY_LOCAL_MACHINE oder ins Verzeichnis C:\Windows). Das wird als Benutzerkontensteuerung (UAC) bezeichnet.

Standardmäßig starten AutoIt-Skripte mit normalen Benutzerrechten, aber AutoIt erlaubt dem Skriptautor, sein Skript so zu "kennzeichnen", dass es AutoIt mitteilt, ob es Adminrechte benötigt oder nicht.

Um ein Skript mit Adminrechten auszustatten, kann die #RequireAdmin-Direktive am Anfang des Skripts eingetragen werden:

@@SyntaxHighlighting@@ ; Dieses Skript benötigt volle Administratorrechte
#RequireAdmin #include MsgBox(0, "Info", "Dieses Skript hat Adminrechte! ") @@End@@

 

Wenn das Skript ausgeführt wird, prüft AutoIt, ob es bereits Adminrechte hat. Wenn nicht, veranlasst AutoIt das Betriebssystem, mittels UAC die Genehmigung vom Benutzer einzuholen. Verweigert der die Genehmigung, wird das Skript beendet.

UAC Aufforderungen

Im Folgenden sind die Abfragen aufgeführt, die angezeigt werden, wenn ein Programm mit administrativen Rechten gestartet wird. Die Art der Abfrage hängt davon ab, ob der Benutzer ein "Eingeschränkter Benutzer" oder ein "Computeradministrator" ist (man erinnere sich, dass auch Administratoren ihre Erlaubnis für administrative Operationen geben müssen).
Beachte: Die gezeigten Abfragen sind für die digital signierte AutoIt-Version - alle freigegebenen Versionen sind signiert, aber Betaversionen sind es möglicherweise nicht und erzeugen eine Warnung wie im Abschnitt "Kompilierte Skripte" weiter unten.

Abfrage bei eingeschränktem Benutzer

Ein eingeschränkter Benutzer muss einen Benutzernamen und ein Passwort eingeben, um fortzufahren und das Skript mit erweiterten Rechten auszuführen.

Abfrage bei Computeradministrator

Wenn der Benutzer bereits als Administrator angemeldet ist, wird nur seine Bestätigung verlangt - es ist keine Passworteingabe notwendig.

Kompilierte Skripte

Kompilierte Skripte (und möglicherweise Betaversionen von AutoIt) sind nicht digital signiert und erzeugen eine ernsthafter aussehende Warnung:

Der Benutzer muss auf Erlauben klicken um fortzufahren (oder als eingeschränkter Benutzer das Passwort eingeben).

Wenn man eine eigene Authenticode-Signatur besitzt, kann man seine eigenen kompilierten Skripte selbst signieren.

Wichtig: Egal ob AutoIt oder ein kompiliertes Skript signiert ist oder nicht, sollte man nur Skripte starten, die aus einer Quelle stammen, der man vertraut!

Auch signierter Code kann bösartig sein!