PowerShell 允许存储在计算机上的脚本以未签名的方式运行

示例

出于安全原因,PowerShell默认设置为仅允许签名脚本执行。执行以下命令将允许您运行未签名的脚本(您必须以管理员身份运行PowerShell才能执行此操作)。

Set-ExecutionPolicy RemoteSigned

运行PowerShell脚本的另一种方法是使用Bypassas ExecutionPolicy:

powershell.exe -ExecutionPolicy Bypass -File "c:\MyScript.ps1"

或者在现有的PowerShell控制台或ISE会话中通过运行:

 Set-ExecutionPolicy Bypass Process

也可以通过运行Powershell可执行文件并将任何有效策略作为-ExecutionPolicy参数来实现执行策略的临时解决方法。该策略仅在进程的生命周期内有效,因此不需要对注册表的管理访问。

C:\>powershell -ExecutionPolicy RemoteSigned

还有其他多种可用政策,在线站点经常鼓励您使用Set-ExecutionPolicy Unrestricted。该策略将保持不变直到更改,并降低系统安全性。不建议这样做。RemoteSigned建议使用,因为它允许在本地存储和编写代码,并且要求使用来自受信任的根的证书对远程获取的代码进行签名。

另外,请注意,执行策略可能由组策略强制执行,因此,即使将策略更改为Unrestricted系统范围,组策略也可能在下一个执行间隔(通常为15分钟)恢复该设置。您可以使用以下命令在各个范围内设置执行策略Get-ExecutionPolicy -List

TechNet文档:
Set-ExecutionPolicy
about_Execution_Policies