windows 是否检查提升的进程状态?

pexxcrt2  于 2023-01-14  发布在  Windows
关注(0)|答案(1)|浏览(101)

我想找到一种方法来确定一个进程是以提升的身份运行还是没有使用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
brccelvz

brccelvz1#

以下是两个常用选项:
1.在脚本中使用#requires -RunAsAdministrator行(需要PowerShell 3.0或更高版本)。如果在脚本顶部使用此行,则它将引发终止错误,并且在未提升当前进程的情况下不会执行。
1.使用如下代码检测当前进程是否已提升:

$IsElevated = ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)

相关问题