实测能解决!!!PowerShell报错问题:无法加载文件 C:\Users\xxx\Documents\WindowsPowerShell\profile.ps1,因为在此系统上禁止运行脚本。

问题描述:

Windows PowerShell
版权所有(C) Microsoft Corporation。保留所有权利。

安装最新的 PowerShell,了解新功能和改进!https://aka.ms/PSWindows

. : 无法加载文件 C:\Users\xxx\Documents\WindowsPowerShell\profile.ps1,因为在此系统上禁止运行脚本。有关详细信息,请
参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 3
+ . 'C:\Users\xxx\Documents\WindowsPowerShell\profile.ps1'
+   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : SecurityError: (:) [],PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess
PS C:\Users\xxx> conda init powershell
no change     I:\anaconda\Scripts\conda.exe
no change     I:\anaconda\Scripts\conda-env.exe
no change     I:\anaconda\Scripts\conda-script.py
no change     I:\anaconda\Scripts\conda-env-script.py
no change     I:\anaconda\condabin\conda.bat
no change     I:\anaconda\Library\bin\conda.bat
no change     I:\anaconda\condabin\_conda_activate.bat
no change     I:\anaconda\condabin\rename_tmp.bat
no change     I:\anaconda\condabin\conda_auto_activate.bat
no change     I:\anaconda\condabin\conda_hook.bat
no change     I:\anaconda\Scripts\activate.bat
no change     I:\anaconda\condabin\activate.bat
no change     I:\anaconda\condabin\deactivate.bat
needs sudo    I:\anaconda\Scripts\activate
needs sudo    I:\anaconda\Scripts\deactivate
needs sudo    I:\anaconda\etc\profile.d\conda.sh
needs sudo    I:\anaconda\etc\fish\conf.d\conda.fish
no change     I:\anaconda\shell\condabin\Conda.psm1
needs sudo    I:\anaconda\shell\condabin\conda-hook.ps1
no change     I:\anaconda\Lib\site-packages\xontrib\conda.xsh
needs sudo    I:\anaconda\etc\profile.d\conda.csh
no change     C:\Users\xxx\Documents\WindowsPowerShell\profile.ps1
No action taken.   

 如何解决:

打开PowerShell,运行

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

如果提示是否确认更改,输入 Y 回车即可

 

原因分析:

这个命令修改了当前用户的执行策略为 RemoteSigned,意思是:

  • 本地创建的脚本可以运行;

  • 从互联网下载的脚本需要有 有效的签名 才能运行;

  • 这个设置只对当前用户生效,不会影响系统其他用户或管理员权限。

运行这条命令后,再次打开 PowerShell,就不会阻止你自动执行 profile.ps1 文件中的初始化代码了(比如 conda 激活环境等)。

### 解决 PowerShell 脚本运行限制的方法 PowerShell 的执行策略(Execution Policy)默认设置为 `Restricted`,这会阻止任何脚本运行。如果遇到 `. : 无法加载文件 XXXXX\WindowsPowerShell\profile.ps1,因为在此系统禁止运行脚本...` 类似的错误提示,则需要调整系统的执行策略。 #### 修改执行策略 可以通过以下命令更改当前用户的执行策略: ```powershell Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser ``` 此命令将执行策略更改为 `RemoteSigned` 模式[^3]。在这种模式下,本地创建的脚本可以无限制运行,而从互联网下载的脚本则需要经过数字签名验证才能运行。 #### 验证执行策略变更 为了确认执行策略已成功修改,可运行以下命令查看当前生效的执行策略: ```powershell Get-ExecutionPolicy -List ``` 该命令会列出不同作用域下的执行策略配置情况。确保 `CurrentUser` 或 `LocalMachine` 下的值已被更新为所需的执行策略[^2]。 #### 加载 Profile 文件 当执行策略允许后,重新尝试加载指定的 profile 文件即可正常工作: ```powershell . 'C:\Users\<用户名>\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1' ``` 注意替换 `<用户名>` 为实际登录账户名称。 --- ### 注意事项 尽管可以放宽执行策略以便于开发调试,但在生产环境中建议谨慎操作。推荐仅针对特定用户或进程范围应用较低的安全级别,而不是全局降低安全性。例如使用 `-Scope Process` 参数来限定本次会话内的影响[^1]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值