Powershell是一个很强大的工具,可用于取代传统的批处理(Batch)。但在默认情况下,Powershell是不允许运行脚本文件的,(可能是出于安全原因的考虑吧)。直接用Powershell运行脚本文件会产生以下错误:

无法加载<文件路径>,因为在此系统中禁止执行脚本。有关详细信息,请参阅”get-help about_signing”。
所在位置 行:1 字符:11
+ .\<file_name> <<<<
    + CategoryInfo          : NotSpecified: (:) [], PSSecurityException
    + FullyQualifiedErrorId : RuntimeException

这是因为Powershell默认的执行策略是Restricted,即可以运行单条命令,但不能运行脚本,包括格式和配置文件 (.ps1xml)、模块脚本文件 (.psm1) 和 Windows PowerShell 配置文件 (.ps1)。

解决方案是把执行策略改得宽松一点,比如RemoteSigned或者Unrestricted。在Powershell中运行以下命令即可:

Set-ExecutionPolicy RemoteSigned

然后系统会提示:

执行策略更改
执行策略可以防止您执行不信任的脚本。更改执行策略可以会使您面临 about_Execution_Policies 帮助主题中所述的安全风险。是否要更改执行策略?

输入“Y”就可以使新的策略生效了。

Related Posts

No related posts.