在PowerShell中获得管理员权限


27

我在Windows Vista计算机上只有一个帐户,并且该用户具有管理特权。但是,当我尝试在PowerShell中执行命令以杀死某个进程时,收到“拒绝访问”消息。我如何成为管理员?

Answers:


14

最简单的方法是使用管理令牌启动Powershell。为此,请右键单击Powershell(或它的快捷方式),然后单击“以管理员身份运行”。另外,您可以使用elevate.cmd


25

根据Microsoft的说法,Powershell v2的方法是右键单击快捷方式,然后选择“以管理员身份运行”

并在Powershell窗口中提升:

start-process powershell verb runAs

从cmd.exe批处理文件,快捷方式或运行行中看到的内容(重复)如下所示:

powershell "start-process powershell -verb runas"

10

这将打开一个新的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实例中存在,因此您可以在那里对其进行破解。


5

如果要始终以管理员权限运行PowerShell,则可以右键单击PowerShell快捷方式,然后单击“快捷方式”选项卡上的“高级...”按钮,然后选择“以管理员身份运行”。


0

简单的方法...

这是如何设置一个简单的命令来随时从任何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在用户外壳中运行!瞧

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.