|
|
问题背景:运行powershell脚本报错 因为此系统禁止运行脚本,如下图:
CategoryInfoFullyQualifiedErrorld :lnauthorizedAccess
解决方法如下:
方法 1:检查当前执行策略
在 PowerShell 中运行以下命令,查看当前的执行策略:
Get-ExecutionPolicy
常见的执行策略有:
-
Restricted:默认策略,不允许运行任何脚本。
-
AllSigned:仅允许运行已签名的脚本。
-
RemoteSigned:允许运行本地脚本,但远程脚本必须签名。
-
Unrestricted:允许运行所有脚本,但会提示用户确认。
方法 2:临时更改执行策略
如果你只是想临时运行某个脚本,可以使用以下命令更改执行策略:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
-
-Scope Process:仅对当前 PowerShell 会话生效,不会影响系统全局设置。
-
Bypass:绕过执行策略限制,允许运行脚本。
然后再次运行你的脚本即可。
方法 3:永久更改执行策略
如果你需要长期运行脚本,可以将执行策略更改为 RemoteSigned 或 Unrestricted。运行以下命令:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine
或者:
Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope LocalMachine
-
RemoteSigned:允许运行本地脚本,但远程脚本必须签名。
-
Unrestricted:允许运行所有脚本,但会提示用户确认。
注意:更改执行策略可能会带来安全风险,请确保你运行的脚本是可信的。
双击运行验证结果: