如何允许在Windows 7上执行PowerShell脚本

image

当你从互联网下载一个脚本并尝试运行它,如果你以前没有配置PowerShell,它会引发一个讨厌的错误红字体。 这足以吓唬大多数用户,但有一个容易解决。

PowerShell有许多执行模式,定义允许运行哪种类型的代码,这由驻留在HKLM配置单元中的注册表项来管理。 有4种不同的执行模式,它们是:

  • 限制:默认的执行策略,不运行脚本,只能交互式命令。
  • 所有签名 :运行脚本; 所有脚本和配置文件必须由您信任的发布者签名; 在确认您信任发布者后,会打开运行签名(但恶意)脚本的风险。
  • 远程签名 :本地脚本运行没有签名。 任何下载的脚本都需要数字签名,即使是UNC路径。
  • 无限制 :运行脚本; 从通信应用程序(如Microsoft Outlook,Internet Explorer,Outlook Express和Windows Messenger)下载的所有脚本和配置文件在确认您了解源自Internet的文件后运行; 不需要数字签名; 打开运行从这些应用程序下载的未签名,恶意脚本的风险

PowerShell的默认执行策略称为Restricted。 在此模式下,PowerShell仅作为交互式shell运行。 它不运行脚本,只加载由您信任的发布者签名的配置文件。 如果你得到讨厌的红色错误,最可能的原因是,你试图运行一个unsigned脚本。 做最安全的事情是执行策略更改为不受限制的,运行脚本,然后更改回的限制

要将其更改为无限制,请从管理PowerShell运行以下命令:

Set-ExecutionPolicy无限制

将询问您是否确定要更改执行策略再次按Enter按钮。

image

您现在可以运行下载的脚本没有问题。 但是,如果您忘记将执行策略设置为受限模式,则这是一个严重的安全风险。 你可能猜到如何将它设置回Restricted,但是你不能:

Set-ExecutionPolicy Restricted

同样,您将被询问是否确定要更改执行模式,继续并按回车。

image

赞 (0)
分享到:更多 ()