43

Я использую Windows Vista, с включенным UAC. Я установил приложение, и установщику потребовались права администратора. Затем установщик запустил приложение. Я хотел бы знать, продолжает ли приложение работать с правами администратора.

Я пробовал Windows Task Manager и Process Explorer, и ни один из них не отображает эту информацию.

4 ответа4

40

В Process Explorer дважды щелкните процесс, чтобы открыть его свойства. Перейдите на вкладку « Безопасность ». В списке групп найдите BUILTIN\Administrators и посмотрите, что он говорит в столбце Flags .

Запретить = не повышен (не администратор)

альтернативный текст

Владелец = Повышен (является администратором)

альтернативный текст

36

В Process Explorer вы можете изменить отображаемые столбцы и добавить столбец "Уровень целостности" на вкладке "Образ процесса":

Это, по-видимому, технический термин для того, что изменяется при запуске процесса с правами администратора. Если вы запустите Process Explorer от имени администратора, он покажет обычные процессы как «средний» уровень целостности и повышенные процессы как «высокий».

Обратите внимание, что если вы запустите обозреватель процессов как обычный пользователь, он покажет процессы с правами администратора с пустой записью в столбце уровня целостности.

1

Обновление с ОС: Resource Monitor, который, как мне кажется, входит в состав Windows 7 и Windows 10 (не уверен в Vista), имеет необязательный столбец «Повышенные» в разделе списка процессов на вкладке ЦП, который кажется довольно точным.

0

Если вы предпочитаете использовать инструменты командной строки, утилиту Accesschk из пакета MS Sysinternals можно использовать для проверки, запущен ли процесс с правами администратора.

Следующие флаги полезны для этой цели:

  • Опция -p (процесс) принимает имя или PID запущенного процесса.

  • Параметр -v (подробный) печатает уровень целостности Windows

  • Параметр -q (тихий) предотвращает печать информации о версии.

  • Параметр -f (полный) также можно использовать для предоставления еще большей информации о процессе (ах) (сведения о токене безопасности пользователей, групп и привилегий), но этот уровень дополнительных сведений не требуется для проверки повышенных привилегий.

пример

Перечислите привилегии всех запущенных процессов cmd :

> accesschk.exe -vqp cmd

[5576] cmd.exe
  Medium Mandatory Level [No-Write-Up, No-Read-Up]
  RW ICS\Anthony
        PROCESS_ALL_ACCESS
  RW NT AUTHORITY\SYSTEM
        PROCESS_ALL_ACCESS
[8224] cmd.exe
  Medium Mandatory Level [No-Write-Up, No-Read-Up]
  RW ICS\Anthony
        PROCESS_ALL_ACCESS
  RW NT AUTHORITY\SYSTEM
        PROCESS_ALL_ACCESS
Error opening [6636] cmd.exe:
Access is denied.

Здесь мы видим, что есть три cmd процесса, которые я запустил. Первые два имеют средний обязательный (целостный) уровень и отображаются как работающие под моей учетной записью домена, что указывает на то, что эти процессы были запущены без прав администратора.

Однако последний процесс (PID 6636) был запущен с повышенными разрешениями, поэтому моя непривилегированная команда не может прочитать информацию об этом процессе. Запуск с расширенными правами доступа accesschk и явное указание его PID выводит следующую информацию:

> accesschk.exe -vqp 6636

[6636] cmd.exe
  High Mandatory Level [No-Write-Up, No-Read-Up]
  RW BUILTIN\Administrators
        PROCESS_ALL_ACCESS
  RW NT AUTHORITY\SYSTEM
        PROCESS_ALL_ACCESS

Теперь мы видим, что уровень целостности высокий и этот процесс выполняется в рамках встроенной группы безопасности « Administrators ».

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .