Windows PowerShell 脚本 xxx.ps1 以管理员身份运行
# 检查当前是否以管理员身份运行
function Is-Administrator {
$currentUser = [Security.Principal.WindowsIdentity]::GetCurrent()
$principal = New-Object Security.Principal.WindowsPrincipal($currentUser)
return $principal.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)
}
# 获取当前脚本的完整路径
$scriptPath = $MyInvocation.MyCommand.Path
# 如果不是管理员身份,则以管理员权限重新启动 PowerShell 并运行脚本
if (-not (Is-Administrator)) {
# 以管理员身份重新启动 PowerShell 并运行脚本
Start-Process -FilePath "powershell.exe" `
-ArgumentList "-NoExit", "-ExecutionPolicy Bypass", "-File", "`"$scriptPath`"" `
-Verb RunAs
exit # 退出当前脚本,避免在当前窗口执行以下操作
}
# 以下写具体方法
Write-Host "管理员身份输出的内容"
本文来自博客园,作者:HookDing,转载请注明原文链接:https://www.cnblogs.com/HookDing/p/18817114

浙公网安备 33010602011771号