Как проверить, настроена ли программа на запуск от имени администратора?

Как проверить, настроена ли программа на запуск от имени администратора?

Кажется, есть куча тем, в которых спрашивают, как проверить, запущена ли программа от имени администратора или как настроить программу на запуск от имени администратора в Windows, но мой вопрос: как проверить, настроена ли программа на запуск от имени администратора, не запуская ее на самом деле? Мне нужно иметь возможность проверять это также автоматически.

Я знаю, что могу просто щелкнуть правой кнопкой мыши по исполняемому файлу и проверить, настроена ли программа на запуск от имени администратора, но мне нужен способ автоматически проверить это, поскольку запущенное мной приложение должно знать, настроен ли определенный исполняемый файл на запуск от имени администратора или нет, и принять решение на основе этого свойства.

решение1

В стандартном пользовательском интерфейсе Windows есть два места, где можно узнать, настроен ли исполняемый файл или ярлык для запуска от имени администратора.

Откройте свойства файла/ярлыка, а затем...

  1. Дляярлыкинажмите только кнопку «Дополнительно» и увидите флажок «Запуск от имени администратора».
  2. Для обоихисполняемые файлыиярлыкиоткройте вкладку «Совместимость».

Настройки в этих двух местах имеют одинаковый эффект, но не идентичны.

Первое — это свойство ярлыка, привязанное к ярлыку. Вы можете проверить это, установив свойство на ярлыке в сетевом расположении, а затем запустив ярлык на другом компьютере. Вам будет предложено повысить права перед запуском ярлыка.

Второй (Совместимость) хранится в реестре компьютера, на котором он установлен, и настройки, сделанные на одном компьютере, не будут автоматически видны на другом компьютере без какого-либо другого механизма для распространения этих настроек. Они хранятся в двух местах в реестре для приложений для отдельных пользователей или для всех пользователей:

Все пользователи:HKLM\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers

Для каждого пользователя:HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers

Их можно читать программно и в скриптах, используя стандартные компоненты Registry Ready, доступные на предпочитаемом языке.

Связанный контент