Windows Vista apporte de nouveaux dispositifs de sécurité pour restreindre les applications nécessitant les droits administratif. Même les utilisateurs ayant les droits administrateur se verrons demander les droits administratif chaque fois qu'un exécutable voudra effectuer une tâche réservée aux administrateurs (Ecrire dans la base de registre à la clé HKEY_LOCAL_MACHINE ou pour écrire dans le répertoire de Windows). Ceci est appelé User Account Control (UAC).
Par défaut, les scripts AutoIt sont exécutés avec les permissions utilisateur standard, mais AutoIt à été programmé pour authoriser le créateur du script de mettre une option pour "indiquer" au script qu'il à besoin d'être exécuté avec tous les droits administratif ou non.
Pour forcer la demande des droits administratif lors de l'exécution du script, ajoutez la directive #requireadmin au début de votre script comme ceci :
; Ce script necessite les droits Administratif
#RequireAdmin
MsgBox(0, "Info", "Ce script a les droits d'administrateur! ")
Lorsque le script est exécuté, AutoIt contrôle si il a déjà les droits administratif. Si ce n'est pas le cas, il se verra demander par le système, l'authorisation de donner les permissions par une invite comme dans l'image "L'invite UAC". Si la permission n'est pas donnée par l'utilisateur, le script se terminera.
L'invite que Vista vous affiche lorsque vous lancez un programme avec les droits administratif est montré ci-dessous. Le type d'invite affiché dépend si l'utilisateur est un "utilisateur standard" ou un "adminstrateur" (Sachez que même les administrateurs doivent demander l'élévation des permissions pour exécuter des opérations administratives).
Note : L'invite montrée ci-dessous concerne la version signée numériquement de AutoIt - Toutes les versions sont signées, sauf les versions bêta et par conséquent vous aurez un avertissement comme dans la section "Scripts Compilés" ci-dessous.
Invite Utilisateur Standard
Un utilisateur standard doit sélectionner un nom et entrer un mot de passe afin que le script soit exécuté avec l'élévation des droits.
Invite Administrateur
Puisque l'utilisateur est un administrateur, il n'a besoin que de l'élévation des droits. Pour cela, il lui suffira de cliquer sur Continuer -le mot de passe n'est pas nécessaire.
Les scripts compilés (Ainsi que les versions bêta de AutoIt) ne sont pas signés numériquement et donc, ils provoquerons l'apparition d'un message d'alerte comme ceci :
L'utilisateur doit cliquer sur Allow (Authoriser) pour continuer (Ou entrer un mot de passe si il est un utilisateur standard).
Si vous avez votre propre signature numérique, vous pouvez signer vos scripts compilés vous-même.
Important : Bien que AutoIt ou un script compilé soit signé numériquement ou pas, vous devriez les exécuter seulement si vous êtes sûr de leurs provenance !
Même un code signé peut être malicieux !