虚拟机配置终端连接,出现:因为在此系统上禁止运行脚本。有关详细信息请参阅 https:/go.microsoft.con/fwlink/?LinkID=13517e
现象
这个问题是因为 PowerShell 的安全策略(执行策略) 阻止了你电脑上的配置文件(profile.ps1)自动运行。
这是一个非常常见的“误伤”现象,通常是因为你之前安装过某些软件、或者系统更新后重置了权限,导致 PowerShell 认为“禁止运行脚本”,从而在启动时读取你的配置文件时报错。
解决办法:(只需要一步)在命令行输入下面命令
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
接下来会发生什么?
屏幕会弹出一个黄色的警告框,询问你是否要更改执行策略。或者什么都不弹出,但是已经恢复正常了。
输入字母 Y (代表 Yes) 或 A (代表 All),然后按回车。
如果成功,窗口会显示 执行策略已更改。
关闭当前终端窗口,重新打开一个新的 PowerShell。
你会发现红色的报错消失了,终端可以正常使用了。
解释
Windows 默认将 PowerShell 的执行策略设为 Restricted(仅允许手动输入命令,禁止运行任何 .ps1 脚本文件),这是为了防止恶意脚本自动运行。
报错原因:你的用户目录下有一个 profile.ps1 文件(可能是你之前配置过环境变量或别名),当 PowerShell 启动时会尝试加载它。因为策略是“禁止运行脚本”,所以它报错了。
输入的命令中RemoteSigned:我们将策略改为 RemoteSigned,意思是:“如果你自己写的脚本可以跑,如果是网上下载的脚本需要验证签名”。这对开发者和普通用户来说是最安全且最方便的设置。
