|
В некоторые программы разработчики включают требования по принудительному повышению полномочий до админских при их запуске. Такое требование прописывается в специальной секции программы — манифесте. У таких программ в правой нижней части иконки имеется иконка щита: Вне зависимости от настроек, при запуске, такая программа будет требовать ввести учетную запись администратора. В этой статье приведены способы обхода таких требований манифеста. Все они базируются на передаче специальной переменной окружения в программу. Манифест устанавливает настройку requestedExecutionLevel в requireAdministrator, а нам нужно asInvoker. Способ 1. Через ярлык (лучший)Необходимо создать ярлык с указанным ниже объектом запуска (на примере программы c:\windows\system32\calc.exe):
Внимание! Пока не удалось решить проблемы с запуском файлов, в пути к которым есть пробелы или русские буквы. Используйте способ 2. Способ 2. Через BAT-файлТакой BAT-файл позволит запустить программу c:\folder with spaces\даже русский.exe без запроса повышения прав:
Технически chcp 1251 можно не использовать, можно сохранить BAT в кодировке 866 (блокнот сохраняет в windows-1251). Способ 3. Через Resource Hacker (очень плохой)Программа Resource Hacker позволяет изменить manifest в самом exe: в блоке manifest, значение <requestedExecutionLevel level="requireAdministrator"/> меняем на <requestedExecutionLevel level="asInvoker"/>, компилируем, сохраняем. Все. ПО начинает запускаться не запрашивая права админа. Внимание! Способ изменяет сам файл. Некоторые (большинство современных) подписаны электронной подписью (MS Authenticode), изменение манифеста приводит к нарушению подписи. Дополнительно |