1
2
3
4
5
6
7
8
9
10
报错信息

. : 无法加载文件 C:\Users\Anonymous\Documents\WindowsPowerShell\profile.ps1。未对文件 C:\Users\Anonymous\Documents\Wind
owsPowerShell\profile.ps1 进行数字签名。无法在当前系统上运行该脚本。有关运行脚本和设置执行策略的详细信息,请参阅 https:
/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies
所在位置 行:1 字符: 3
+ . 'C:\Users\Anonymous\Documents\WindowsPowerShell\profile.ps1'
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : SecurityError: (:) []PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
1
2
3
4
这是因为签名太严谨
PowerShell 中输入以下命令,查看当前的执行策略:
Get-ExecutionPolicy
如果返回的是 RestrictedAllSigned,则会导致无法执行未签名的脚本。

image-20241205171228350

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
更改执行策略
为了解决这个问题,你需要将执行策略更改为 RemoteSigned 或 Unrestricted,这样就可以执行本地脚本(如 profile.ps1),并且只有来自互联网的脚本需要签名。

RemoteSigned:允许本地脚本运行,来自互联网的脚本需要签名。
Unrestricted:允许所有脚本运行,但会提示警告。
你可以使用以下命令来更改执行策略:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
这将允许当前用户执行本地脚本,而来自互联网的脚本仍然需要签名。


如果你希望更加宽松,可以使用 Unrestricted:
Set-ExecutionPolicy Unrestricted -Scope CurrentUser
确认更改
系统会提示你是否确定要更改执行策略,输入 Y 确认。

重新启动 PowerShell
关闭当前 PowerShell 窗口,然后重新打开它,再次尝试运行相关的 PowerShell 脚本,问题应该得到解决。

image-20241205171414195