通过批处理文件将执行策略权限设置为PowerShell

时间:2012-05-23 09:29:27

标签: powershell batch-file

我通过批处理文件setting execution policy rights to PowerShell以允许运行PowerShell脚本。

默认情况下,Windows PowerShell的执行策略为Restricted。是的,我们可以使用提升(管理员)权限启动PowerShell,并手动将策略设置为Unrestricted

现在问题是我们是否可以手动设置它,那么通过批处理文件设置它是否有意义?

当您需要在多台计算机上运行脚本文件时(比如用于测试目的),可能会为每台计算机手动设置策略权限。虽然对于一个人来说这不是一项工作,但当你要求用户为自己做这个设置时,这可能是一个开销。有些用户喜欢尽可能少地做事情。

  

因此,用户只需要使用admin执行批处理文件   将自动设置策略权限的权利。通往的道路   执行脚本应该不是问题,因为这两个批处理文件   和PowerShell脚本将在同一文件夹中(推荐)。

这是我到目前为止在我的批处理(.bat)文件中尝试过的。

powershell.exe -Set ExecutionPolicy Unrestricted -FILE file.ps1 "args[0]" "args[1]"....

其中file.ps1是PowerShell脚本的名称,args[0]args[1],....是传递给脚本的可选参数。

唯一不起作用的是执行政策。它也可能是一些语法问题。请指教。

2 个答案:

答案 0 :(得分:2)

Windows 7附带Powershell v2.0

只需转到运行或开始菜单,然后输入“Powershell”并按Enter键。

要运行脚本,您可能必须执行Set-ExecutionPolicy unrestricted或类似操作。看这里 - http://technet.microsoft.com/en-us/library/ee176961.aspx

答案 1 :(得分:1)

这是对我有用的解决方案。

@powershell -ExecutionPolicy Unrestricted -FILE file.ps1 "args[0]" "args[1]" "args[2]"

最终,问题在于您可以注意到的语法。