📅  最后修改于: 2023-12-03 14:55:01.977000             🧑  作者: Mango
这是一个常见的错误信息,当程序员在 Windows 操作系统上运行 PowerShell 脚本时会出现。它的出现通常是因为系统默认限制了运行未签名脚本的权限,以防止恶意软件利用脚本进行攻击。以下是可能导致该错误的原因:
为了解决这个问题,可以尝试以下几个步骤:
首先,你需要以管理员身份打开 PowerShell,因为只有管理员才有权限更改 PowerShell 的执行策略。
运行以下命令,查看当前的执行策略:
Get-ExecutionPolicy
如果运行结果是 Restricted
,那么说明当前执行策略禁止了脚本运行。你可以使用以下两个选项:
RemoteSigned
:允许运行本地和网络签名过的脚本。网络上下载的未签名脚本将无法执行。Unrestricted
:允许运行所有脚本,包括未签名的脚本。在此情况下,你可以使用以下命令将执行策略更改为 RemoteSigned
:
Set-ExecutionPolicy RemoteSigned
然后,你就可以重新运行你的脚本了。
如果你需要运行未签名的脚本,那么你可以考虑签署脚本。签署脚本可以使脚本具有数字签名,从而证明脚本的作者是可信的。
要签署脚本,你需要使用以下命令创建一个证书:
New-SelfSignedCertificate -CertStoreLocation Cert:\CurrentUser\My -Subject "CN=PowerShell Author"
然后,你可以使用以下命令将证书添加到可信证书列表中:
$cert = Get-ChildItem -Path Cert:\CurrentUser\My | Where-Object { $_.Subject -eq "CN=PowerShell Author" }
$cert.Thumbprint | ForEach-Object { Set-AuthenticodeSignature -FilePath "C:\path\to\script.ps1" -Certificate (Get-ChildItem -Path CERT:\LocalMachine\My\$_) }
这将为你的脚本添加数字签名,使它可以在受限的执行策略下运行。
总之,当你遇到 “文件 C:\Users\skill\AppData\Roaming\npm\yarn.ps1 无法加载,因为在此系统上禁用了运行脚本.有关详细信息,请参阅 https:go.microsoft.com fwlink ?LinkID=135170 上的 about_Execution_Policies. - 打字稿” 的错误信息时,可以根据以上步骤进行排查和解决。