您的位置:首页 > 运维架构 > Shell

Powershell中禁止执行脚本解决办法(about_Execution_Policies)

2016-05-22 13:15 726 查看
Powershell中禁止执行脚本解决办法 - 张善友 - 博客园  http://www.cnblogs.com/shanyou/archive/2011/09/03/2165371.html


Powershell中禁止执行脚本解决办法(about_Execution_Policies)

刚开始使用Powershell,导入管理模块或者其他操作的时候会出现因为在此系统中禁止执行脚本的报错,报错内容如下:

Windows PowerShell
版权所有 (C) 2009 Microsoft Corporation。保留所有权利。

PS C:\Windows\system32> D:\Workshop\Powershell\Sprinkler\src\Scripts\SPRINKLE.ps1
无法加载文件 D:\Workshop\Powershell\Sprinkler\src\Scripts\SPRINKLE.ps1,因为在此系统中禁止执行脚本。有关详细信息,请参
阅 "get-help about_signing"。
所在位置 行:1 字符: 58
+ D:\Workshop\Powershell\Sprinkler\src\Scripts\SPRINKLE.ps1 <<<<
+ CategoryInfo          : NotSpecified: (:) [], PSSecurityException
+ FullyQualifiedErrorId : RuntimeException


PS C:\Windows\system32>
get-ExecutionPolicy 
(查询当前策略设置)

Restricted (guyue: 受限制的)
果然,是被限制。还是在"get-help about_signing"里面可以查到设置命令"set-executionpolicy

再在帮助中找到"set-executionpolicy"的说明。。似乎是比较建议设置为,至少是被标记为可信任的
-- RemoteSigned: Requires that all scripts and configuration files downloaded from the Internet be signed by a trusted publisher. 
在PowerShell执行以下: 
PS C:\Windows\system32> set-ExecutionPolicy RemoteSigned
(修改策略以执行prowershell脚本)

执行策略更改 

执行策略可以防止您执行不信任的脚本。更改执行策略可能会使您面临 about_Execution_Policies 

帮助主题中所述的安全风险。是否要更改执行策略? 

[Y] 是(Y) 
否(N)  [S] 挂起(S)  [?] 帮助 (默认值为“Y”): y 

之后即可执行prowershell脚本, 例如
PS C:\Windows\system32>./1.ps1
(执行脚本)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息