Windows Vista приносит новые механизмы безопасности, чтобы ограничить выполнение файлов, требующих прав администратора. Даже администратор будет получать запрос на разрешение, когда файл пытается выполнить какие-нибудь администраторские операции (такие, как, например, запись в раздел реестра HKEY_LOCAL_MACHINE или запись в каталог C:\Windows). Этот механизм называется Контроль учётных записей пользователей (англ. User Account Control, UAC).
По умолчанию, скрипты AutoIt запускаются с правами обычного пользователя. Однако, в AutoIt есть возможность указать, что текущему скрипту необходимы права администратора для работы.
Чтобы указать скрипту, что он должен выполняться с правами администратора, добавьте директиву #requireadmin в начале скрипта, например:
; Этот скрипт требует наличия полных прав администратора
#RequireAdmin
MsgBox(0, "Инфо", "У этого скрипта есть права администратора! ")
При запуске такого скрипта, AutoIt проверяет, есть ли у него права администратора и, если нет, он вызывает стандартный запрос операционной системы на повышение прав доступа. Если разрешение от пользователя не получено - скрипт завершает свою работу.
Запросы, которые Windows 7 показывает при запуске программ, требующих прав администратора, показаны ниже. Тип запроса зависит от того, какому пользователю он выводится (обычному или администратору). Примечание: все релизы AutoIt имеют цифровую подпись, однако бета-версии могут её не иметь. В этом случае запрос выглядит так же, как и для скомпилированного скрипта.
Запрос обычному пользователю
Обычный пользователь должен выбрать имя и ввести пароль для продолжения выполнения скрипта с нужными правами.
Запрос администратору
Если пользователь является администратором, ему необходимо просто разрешить выполнение скрипта. Пароль вводить не требуется.
Скомпилированные скрипты (и, возможно, бета-версии AutoIt) не имеют цифровой подписи. В этом случае, запрос UAC выглядит "посерьёзнее":
Пользователь должен выбрать кнопку Да для продолжения (или ввести пароль администратора, если это обычный пользователь).
Если у вас есть собственная сигнатура Authenticode, вы можете "подписать" свои скомпилированные скрипты.
Очень важно: имеет цифровую подпись AutoIt или скомпилированный скрипт, или нет, необходимо запускать скрипты ТОЛЬКО от источников, которым вы можете доверять!
Даже подписанный код может быть опасным!