本文主要是介绍执行PowerUp.psl脚本时,powershell报错“在此系统中禁止执行脚本”,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1. 问题描述
在实验PowerUp.psl功能时,导入PowerUp.psl脚本报错如下:
Import-Module : 无法加载文件 C:\PowerUp.ps1,因为在此系统中禁止执行脚本。有关详细信息,请参阅 "get-help about_signing"。
所在位置 行:1 字符: 14
+ Import-Module <<<< C:\PowerUp.ps1
+ CategoryInfo : NotSpecified: (:) [Import-Module], PSSecurityException
+FullyQualifiedErrorId : RuntimeException, Microsoft.PowerShell.Commands.ImportModuleCommand
2. 解决方案
环境:windows server 2008 R2
2.1 查看默认脚本执行策略
在powershell中执行命令查看默认的脚本执行策略:
Get-ExecutionPolicy
2.2 不修改脚本执行策略
在不修改脚本执行策略的情况下执行脚本:
powershell -exec bypass "Import-Module C:\PowerUp.ps1;Invoke-AllChecks"
3. 总结补充参数说明
3.1 get-help查看参数:
get-help Set-ExecutionPolicy
3.1.1 语法
Set-ExecutionPolicy [-ExecutionPolicy] {Unrestricted | RemoteSigned | AllSigned | Restricted | Default | Bypass | Undefined} [[-Scope] {Process | CurrentUser | LocalMachine | UserPolicy | MachinePolicy}] [-Force] [-Confirm] [-WhatIf] [<CommonParameters>]
3.1.2 主要参数注释
Unrestricted:允许所有脚本执行。
RemoteSigned:运行本地的脚本不需要数字签名,但是运行从网络上下载的脚本就必须要有数字签名。
AllSigned:只能运行经过数字证书签名的脚本。
Restricted:默认设置,不允许任何脚本执行。
Default:执行后回复默认策略,即Restricted。
Bypass:没有任何限制和提示。
Undefined:没有设置脚本的策略。
这篇关于执行PowerUp.psl脚本时,powershell报错“在此系统中禁止执行脚本”的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!