PowerShell:以管理员身份运行命令

你知道如果你是一个系统的管理用户,你可以右键单击说一个批处理脚本并以管理员身份运行而不必输入管理员密码?

我想知道如何用PowerShell脚本来做到这一点。 我不想输入密码; 我只是想模仿右键单击Run As Administrator方法。

到目前为止,我阅读的所有内容都需要您提供管理员密码。


如果当前的控制台未提升,并且您要执行的操作需要提升的权限,则可以使用“以管理员身份运行”选项启动PowerShell

PS> Start-Process powershell -Verb runAs

这是Shay Levi的建议的补充(只需在脚本的开头添加这些行):

If (-NOT ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator"))

{   
$arguments = "& '" + $myinvocation.mycommand.definition + "'"
Start-Process powershell -Verb runAs -ArgumentList $arguments
Break
}

这导致当前脚本以管理员模式传递给新的PowerShell进程(如果当前用户有权访问管理员模式并且脚本未以管理员身份启动)。


自升式PowerShell脚本

Windows 8.1 / PowerShell 4.0 +

一条线 :)

if (!([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) { Start-Process powershell.exe "-NoProfile -ExecutionPolicy Bypass -File `"$PSCommandPath`"" -Verb RunAs; exit }

# Your script here
链接地址: http://www.djcxy.com/p/30239.html

上一篇: PowerShell: Running a command as Administrator

下一篇: Equivalent of *Nix 'which' command in Powershell?