我的Windows Vista计算机上只有一个帐户,并且该用户具有pipe理权限。 但是,当我尝试在PowerShell中执行某个命令来杀死某个进程时,我会遇到“访问被拒绝”信息。 我如何成为pipe理员?
最简单的方法是使用pipe理令牌启动Powershell。 要做到这一点,你右键单击Powershell(或其快捷方式),然后单击“以pipe理员身份运行”。 或者,您可以使用elevate.cmd 。
根据微软的说法,Powershell v2的方法是右键单击快捷方式,然后select“以pipe理员身份运行” 。
并在PowerShell窗口中提升:
start-process powershell –verb runAs
从cmd.exebatch file,快捷方式或运行行看起来像(重复)这样的东西:
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实例中,所以你可以在那里破解它。
如果您想要始终使用pipe理员权限运行PowerShell,则可以右键单击PowerShell快捷方式,然后单击“快捷方式”选项卡上的“高级…”button,然后select“以pipe理员身份运行”。