使用提升的权限从批处理文件运行 Powershell 脚本?

神秘莫测

我想运行example.ps1code.bat

我意识到该start命令会运行它,但要求它以管理员身份运行,我该怎么做?

詹姆斯 C.

在您的批处理文件中:

powershell -Command "&{ Start-Process powershell -ArgumentList '-File C:\folder\psfile.ps1' -Verb RunAs}"

...基本上你正在使用 Powershell 来运行 Powershell。第二个实例被提升为 Admin 并使用这些权限运行您的脚本。


完整解释:

Start-Process可以用来运行一个程序,还有一个参数-Verb RunAs可以提升程序以管理员身份运行。

我们无法Start-Process从批处理文件中调用,因为它是 PowerShell 命令。

但是我们可以powershell从批处理文件运行,然后使用-command参数运行Start-Process.

当脚本被提升为管理员时,我们Start-Process用来powershell(再次)运行并运行您的脚本:-ArgumentList '-File C:\folder\psfile.ps1' -Verb RunAs

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

通过具有提升权限的批处理文件运行 Powershell 脚本

无法使用批处理文件运行PowerShell脚本

尝试在一个位置使用批处理文件并调用Powershell脚本提升

如何从批处理文件运行PowerShell脚本

从Powershell脚本运行批处理文件(带空白)

从批处理文件在Powershell脚本中运行参数

在批处理文件中运行PowerShell脚本

从批处理文件调用PowerShell脚本

使用批处理文件+ Powershell脚本的Set-ExecutionPolicy

如何检测是否通过Windows启动事件运行了调用powershell脚本的批处理文件

从批处理文件运行的Powershell脚本中,空格键参数解析不正确

为什么我不能在批处理文件中运行此Powershell脚本?

从批处理文件向Powershell脚本传递参数

通过批处理文件执行Powershell脚本

如何使批处理文件命令等待powershell脚本完成

当ps脚本路径包含空格并且路径从%〜dp0%派生时,如何从批处理文件运行powershell脚本

使用所有参数从批处理文件调用PowerShell脚本

使用Powershell脚本启动的批处理文件设置环境变量

在批处理文件中调用Powershell脚本时,如何使用嵌套引号?

喜欢在变量中获取Powershell脚本的输出以在批处理文件中使用

为什么在Windows批处理文件中运行PowerShell脚本时会出现不必要的空行输出?

使用脚本在批处理文件中运行django shell

从批处理文件运行Powershell

如何从Powershell运行批处理文件?

从批处理文件运行Powershell

批处理文件中的退出代码不会传播到父级Powershell脚本

打包在批处理文件中的PowerShell脚本只执行了一半

脚本或Powershell或批处理文件以选择并连接到特定的SSID

将string []从批处理文件(其中包含双引号“)传递到Powershell脚本