【发布时间】:2022-01-17 00:14:47
【问题描述】:
我有一个 PowerShell 设置,我想在可能执行策略受到限制并需要管理员权限的计算机上执行它。
理想情况下,我可以将它包装在一个 cmd 批处理中,如下所示:
powershell -Command "Start-Process powershell -Verb runAs -ArgumentList '-noexit','-ExecutionPolicy','bypass','-File','C:\path\setup.ps1'"
问题是当C:\path\setup.ps1 包含空格时我无法使其工作,并且如果是相对路径(使用cd C:\path),则路径也不起作用。
有什么帮助吗?
【问题讨论】:
-
您已经以管理员身份运行批处理文件了吗?
-
@AbrahamZinala:不。 cmd 批处理的全部目的是要求用户提升并暂时允许脚本执行。因此,参数
-Verb runAs和ExecutionPolicy bypass。 -
我知道这些论点,只是想在获得更多上下文的同时提供替代解决方案。
-
为什么需要 Cmd 来运行脚本?为什么不使用自提升的完整 PowerShell 脚本?
-
@SantiagoSquarzon 如果执行策略受到限制,您一开始就无法执行自提升脚本。
标签: powershell batch-file cmd elevated-privileges executionpolicy