解除文件阻止未按预期工作

解除文件阻止未按预期工作

我有一个profile.ps1需要运行的脚本,它是由 Conda 应用程序创建的。
我通过运行以下命令解除了对文件的阻止:
Unblock-File -Path .\profile.ps1

该命令已成功执行(我假设这是因为没有错误、警告或输出),但是当我在新窗口中打开 PowerShell 时,出现错误Running scripts on this computer is restricted

微软网站,示例已将执行策略设置为RemoteSigned,并记录了 Unblock-File 的用例。
此策略是否仅在这种情况下有效,还是我做错了什么?

答案1

使用Unblock-File忽略执行策略是基于会话的。新的 powershell windows 不会“记住”您已解除对特定文件的阻止。如果您希望它持续存在,您需要:

  • 更改执行策略以允许运行未签名的脚本(适用于所有脚本)
Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope CurrentUser
  • 实际上使用证书对脚本进行签名,Set-AuthenticodeSignature例如
  • 或者每次打开 powershell 时解除对文件的阻止,也许可以通过添加Unblock-File到你的 PS 配置文件中

Unblock-File更多的是为了从文件中删除“从互联网下载”区域标识符,而不是为了扰乱执行策略

相关内容