在PowerShell脚本中,如何检查我是否以pipe理员权限运行?
$currentPrincipal = New-Object Security.Principal.WindowsPrincipal([Security.Principal.WindowsIdentity]::GetCurrent()) $currentPrincipal.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)
(来自命令行安全技巧 )
function Test-Administrator { $user = [Security.Principal.WindowsIdentity]::GetCurrent(); (New-Object Security.Principal.WindowsPrincipal $user).IsInRole([Security.Principal.WindowsBuiltinRole]::Administrator) }
执行上述function。 如果结果为True,则用户具有pipe理权限。
在Powershell 4.0中,您可以在脚本的顶部使用require:
#Requires -RunAsAdministrator
输出:
脚本“MyScript.ps1”无法运行,因为它包含“#requires”语句以pipe理员身份运行。 当前的Windows PowerShell会话未以pipe理员身份运行。 使用“以pipe理员身份运行”选项启动Windows PowerShell,然后再次运行脚本。