您的位置首页生活百科

PowerShell不能 / 禁止执行脚本怎么办

PowerShell不能 / 禁止执行脚本怎么办

的有关信息介绍如下:

PowerShell不能 / 禁止执行脚本怎么办

powershell是微软推出的比cmd更加强大的命令行工具,它和cmd一样也可以编写脚本来执行。对于刚接触powershell不久的用户来说,可能会遇到好不容易编写了脚本文件,却被系统告知禁止运行任何脚本的情况。禁止执行脚本文件是为了系统安全考虑的,但是当我们已经确认脚本是安全的,要怎么执行呢?

PowerShell无疑是对安全做过充分考量的,它把脚本的执行分成了几个策略。

下面是4种常用的执行策略:

Restricted:

禁止运行任何脚本和配置文件。

AllSigned :

可以运行脚本,但要求所有脚本和配置文件由可信发布者签名,包括在本地计算机上编写的脚本。

RemoteSigned :

可以运行脚本,但要求从网络上下载的脚本和配置文件由可信发布者签名; 不要求对已经运行和已在本地计算机编写的脚本进行数字签名。

Unrestricted :

可以运行未签名脚本。(危险!)

PowerShell默认的执行策略就是“Restricted”,禁止任何脚本的执行。

【Get-ExecutionPolicy】命令不区分大小写,用于获得当前的执行策略。图示如下:

要想执行脚本文件,就必须修改默认的执行策略,而修改执行策略需要管理员的权限,所以用“以管理员身份运行”PowerShell,图示如下:

使用【Set-ExecutionPolicy】命令设置/更改执行策略,选择“RemoteSigned”这个执行策略,这个策略既安全又可以执行本地编写的脚本。图示如下:

注意,如果要执行从网上下载且没有可信发布者签名的脚本,在你已经确认该脚本是安全的情况下,使用【Set-ExecutionPolicy Unrestricted】命令把执行策略设置为“Unrestricted”后,就可以执行该脚本了。图示如下:

现在来检测一下是否可以执行脚本了呢?用记事本创建一个扩展名是.ps1(是数字1不是小写的L)脚本文件“test.ps1”,只是向控制台输出一句话“明天会更好!”,图示如下:

双击保存后的test.ps1,脚本顺利执行了!