我通过批处理文件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]
,....是传递给脚本的可选参数。
唯一不起作用的是执行政策。它也可能是一些语法问题。请指教。
答案 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]"
最终,问题在于您可以注意到的语法。