Windows上VScode默认禁止运行 *.ps1 脚本原因与解决方法

今天在Windows10上以管理员身份运行PowerShell,当执行脚本“.\build.ps1”的时候,结果报了如下错误:

.\build.ps1 : 无法加载文件 G:\下载\metasploitable3-master\build.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 h
ttps:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 1
+ .\build.ps1
+ ~~~~~~~~~~~
    + CategoryInfo          : SecurityError: (:) [],PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess

Windows上VScode默认禁止运行 *.ps1 脚本原因与解决方法_第1张图片

什么是“.ps1”文件?

这个是PowerShell写的脚本文本,你可以在记事本中写一段PowerShell代码,然后将其保存为“xxx.ps1”,后面要使用它的时候,双击即可运行了。

这有点像批处理的“.bat”文件,也有点像VBScript的“.vbs”文件。这些都是Windows的脚本文件。

 

解决方法

解决问题肯定要找到原因,原因也不必多说,这是Windows10自身为了安全,默认设置了执行策略,执行策略可帮助你防止执行不信任的脚本。

 

解决这个问题也很简单,具体如下:

 

注意:必须先保证自己是以管理员身份打开PowerShell的;

 

1、获取有效的执行策略列表,命令如下:

PS G:\下载\metasploitable3-master> Get-ExecutionPolicy -List

Windows上VScode默认禁止运行 *.ps1 脚本原因与解决方法_第2张图片

以上说明的是:有效的执行策略是RemoteSigned,因为当前用户的执行策略优先于为本地计算机设置的执行策略。如果有不懂RemoteSigned是什么意思?请查看:Powershell脚本5种执行权限介绍

 

2、设置执行策略,命令如下:

PS G:\下载\metasploitable3-master> set-executionpolicy remotesigned

 

3、现在再去执行 .ps1 脚本已经没有任何问题了。

 

4、删除执行策略

有时候我们执行完了自己的 .ps1 脚本后,还是想删除设置的执行策略,毕竟是安全第一,删除执行策略其实也很简单,原理就是设置执行策略,只不过把这个权限设置为Undefined的。

注意:要删除特定范围的执行策略,请将执行策略设置为Undefined。

以我的Windows10系统为例,我就把执行策略权限设置为Undefined就可以了,命令如下:

PS G:\下载\metasploitable3-master> set-executionpolicy Undefined

你可能感兴趣的:(python学习)