Answers:
最简单的方法是使用管理令牌启动Powershell。为此,请右键单击Powershell(或它的快捷方式),然后单击“以管理员身份运行”。另外,您可以使用elevate.cmd。
根据Microsoft的说法,Powershell v2的方法是右键单击快捷方式,然后选择“以管理员身份运行”。
并在Powershell窗口中提升:
start-process powershell –verb runAs
从cmd.exe批处理文件,快捷方式或运行行中看到的内容(重复)如下所示:
powershell "start-process powershell -verb runas"
这将打开一个新的powershell实例:
function Run-Elevated ($scriptblock)
{
# TODO: make -NoExit a parameter
# TODO: just open PS (no -Command parameter) if $scriptblock -eq ''
$sh = new-object -com 'Shell.Application'
$sh.ShellExecute('powershell', "-NoExit -Command $scriptblock", '', 'runas')
}
我希望这有问题-特别是您不会在调用脚本中获得脚本块的输出。另一方面,它将在新的PS实例中存在,因此您可以在那里对其进行破解。
如果要始终以管理员权限运行PowerShell,则可以右键单击PowerShell快捷方式,然后单击“快捷方式”选项卡上的“高级...”按钮,然后选择“以管理员身份运行”。
简单的方法...
这是如何设置一个简单的命令来随时从任何PowerShell会话中获取管理员特权!
步骤1:打开PowerShell配置文件。(如果文件丢失,则允许记事本创建文件。)
notepad "$profile"
步骤2:将以下代码粘贴到该文件中的任何位置。
function GoAdmin { start-process powershell –verb runAs }
步骤3:重新启动PowerShell。该命令现在永久可用。
第4步:只要您想成为管理员,只需键入即可GoAdmin
(不必担心键入正确的大小写; PS函数实际上不区分大小写)。您当然可以将函数命名为其他名称Elevate
或类似名称,但是我不希望有任何冲突的风险,因此我将其命名为两个单词的短语,且不带连字符,以确保它永远不会与PowerShell自身的功能发生冲突。
请注意,管理员窗口在单独的外壳中打开。您可以关闭原始外壳,或使其保持打开状态。如果您的管理员工作做了诸如添加/修改环境变量之类的“大事”,那么您的用户外壳程序(非管理员)只需键入refreshenv
即可重新加载其环境并获取更改。
因此,基本上,只需GoAdmin
要做一些管理工作,例如安装软件包(当然要使用https://chocolatey.org/!),然后关闭管理窗口并refreshenv
在用户外壳中运行!瞧