使用Powershell,导入管理模块或者Profile脚本执行的时候会出现因为在此系统中禁止执行脚本的报错,报错内容如下:
Windows PowerShell
版权所有 (C) 2006 Microsoft Corporation。保留所有权利。
无法加载文件 C:\WINDOWS\system32\WindowsPowerShell\v1.0\profile.ps1,因为在此系统中禁止执行脚本。有关详细信息,请参阅 "get-help about_signing"。
所在位置 行:1 字符: 2
+ . <<<< 'C:\WINDOWS\system32\WindowsPowerShell\v1.0\profile.ps1'
执行命令获取当前的执行策略
PS C:\Documents and Settings\Administrator> get-ExecutionPolicy
Restricted
果然是被限制。接下来查盾执行策略的设定方法
PS C:\Documents and Settings\Administrator> get-help about_signing
PowerShell 执行策略包括:
Restricted
- 默认的执行策略。
- 允许单个命令运行,但无法运行脚本。
AllSigned
- 可以运行脚本。
- 要求可信发布者对所有脚本和配置文件(包括本地计算机上编写的脚本)的
数字签名。
- 在运行来自可信发布者的脚本之前对您进行提示。
- 运行已签名但有恶意的脚本带来的风险。
RemoteSigned
- 可以运行脚本。
- 要求可信发布者对从 Internet(包括电子邮件和即时消息程序)下载的脚
本和配置文件的数字签名。
- 无需从本地计算机上运行的脚本的数字签名。
- 在运行来自可信发布者的脚本之前不向您提示。
- 运行已签名但有恶意的脚本带来的风险。
Unrestricted
- 可以运行未签名脚本。
- 在警告您文件来源于 Internet 后,运行从 Internet(包括 Microsoft
Outlook、Outlook Express 和 Windows Messenger)下载的脚本和配置文
件。
- 运行恶意脚本带来的风险。
根据上术的帮助在PowerShell执行以下:
PS C:\Windows\system32> set-ExecutionPolicy RemoteSigned
重新打开PowerShell执行脚本终于正常了