Приложениям запускать код с правами администратора позволяют следующие механизмы:
- Запуск под учётной записью с меньшими привилегиями. 1 Для этого используют PrivilegeCheck, чтобы определить, какие привилегии включены в маркере. 1 Если доступных привилегий недостаточно для текущей операции, можно отключить код и попросить пользователя выполнить вход в учётную запись с правами администратора. 1
- Предоставление ярлыка для запуска от имени. 15 Для этого нужно кликнуть правой кнопкой мыши по ярлыку и выбрать «Свойства», затем во вкладке «Ярлык» перейти в раздел «Дополнительно» и отметить пункт, отвечающий за запуск программы с повышенными полномочиями. 5
- Настройка команды RunAs в разделе реестра AppId Key для приложения. 1 Для этого нужно вызвать окно «Выполнить», используя сочетание клавиш Win + R, ввести там regedit и нажать на Enter. 5 Затем перейти по пути HKEYLOCALMACHINESOFTWAREMicrosoftWindows NTCurrentVersionAppCompatFlagsLayers, нажать правой кнопкой мыши и создать строковый параметр. 5 В качестве названия для него присвоить полный путь к требуемому исполняемому файлу, затем дважды кликнуть по нему левой кнопкой мыши и задать значение ~ RUNASADMIN. 5
Также программа может запрашивать права администратора при запуске, если ей нужно получить доступ к системному каталогу или файлу, на который отсутствуют NTFS разрешения для непривилегированных пользователей, или если программа собрана со специальным флагом, который требует повышения прав при запуске (requireAdministrator). 3