Проверить повышенный статус процесса? - PullRequest
0 голосов
/ 23 мая 2018

Я хотел бы найти способ выяснить, выполняется ли процесс с повышенными правами или без использования Powershell.

Вариант использования: возможность запуска задач панели управления с повышенными привилегиями в качестве пользователя локального домена, например, Добавитьили Удалить программы.

Любая помощь будет оценена.

#Start add or remove as admin
start-process appwiz.cpl -verb runas

#Check if path exists. Answer is Yes, so process is NOT elevated
get-wmiobject -class win32_process | select-object -properties name, path

1 Ответ

0 голосов
/ 23 мая 2018

Это два обычных параметра:

  1. Используйте строку #requires -RunAsAdministrator в вашем скрипте (требуется PowerShell 3.0 или более поздняя версия).Если вы используете эту строку в верхней части вашего скрипта, он выдаст завершающую ошибку и не будет выполняться, если текущий процесс не повышен.

  2. Используйте код, подобный следующему, дляопределить, повышен ли текущий процесс:

    $IsElevated = ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...