| 用途 | 让脚本以管理员权限继续执行 |
|---|---|
| 核心 | WindowsPrincipal.IsInRole 判定 + Start-Process -Verb RunAs |
| 无人值守 | 改用计划任务“使用最高权限运行” |
常用示例
常用示例
$isAdmin = ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)
if (-not $isAdmin) {
Start-Process powershell -Verb RunAs -ArgumentList '-NoProfile','-File',"`"$PSCommandPath`""
exit
}
Write-Host '已以管理员身份运行'自提权会弹 UAC 确认;无人值守场景计划任务直接勾选最高权限更可靠。