param( $a, $b )#region 关键代码:强迫以管理员权限运行$currentWi = [Security.Principal.WindowsIdentity]::GetCurrent()$currentWp = [Security.Principal.WindowsPrincipal]$currentWiif( -not $currentWp.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)){ $boundPara = ($MyInvocation.BoundParameters.Keys | foreach{ ‘-{0} {1}‘ -f $_ ,$MyInvocation.BoundParameters[$_]} ) -join ‘ ‘ $currentFile = (Resolve-Path $MyInvocation.InvocationName).Path $fullPara = $boundPara + ‘ ‘ + $args -join ‘ ‘ Start-Process "$psHome\powershell.exe" -ArgumentList "$currentFile $fullPara" -verb runas return}#endregion#region 测试脚本片段"a=$a, b=$b" ($args -join ‘ ‘)Write-Host ‘执行完毕,按任意键退出...‘Read-Host#endregion强制PowerShell脚本以管理员权限运行,布布扣,bubuko.com
原文地址:http://www.cnblogs.com/dreamer-fish/p/3804316.html