首页 > 解决方案 > 双击以管理员身份执行

问题描述

我有一个 powershell 文件保存到我的桌面,我希望能够双击并以管理员身份运行。我尝试将用于启动 powershell 的快捷方式更新为始终以管理员身份运行,但我仍然遇到相同的权限问题。有没有办法设置快捷方式,以便文件始终以管理员身份执行?或者另一种设置方式,以便所有powershell脚本在双击时以管理员身份运行?

谢谢你的帮助!

标签: windowspowershelladministrator

解决方案


创建一个“代理脚本”以管理员身份启动其他脚本,然后Start-Process -Verb RunAs在执行前启动 PowerShell 以提升它:

RunAsProxy.ps1

# First arg should be the script path
$script = $args[0]

# Rest of args should be any script parameters
$scriptArgs = $args[1..$args.Count] -join ' '

$startProcessArgs = @{
  Wait = $true
  Verb = 'RunAs'
  FilePath = 'powershell'
  ArgumentList = "-File `"$script`" $scriptArgs"
}
Start-Process @startProcessArgs

exit $LASTEXITCODE

创建指向RunAsProxy.ps1而不是目标脚本的快捷方式。传入要运行提升的目标脚本的路径以及该脚本的可选参数。如果启用了 UAC,您应该在执行前收到提升权限的提示。

这应该可以与您想要执行相同操作的其他脚本重用。


推荐阅读