Windows PowerShell中HTTP_PROXY、HTTPS_PROXY环境变量无法删除怎么办
你此前执行的$env:HTTP_PROXY=''、rm Env:HTTP_PROXY类命令仅对当前打开的PowerShell会话生效,不会修改持久化存储的环境变量,所以重启后会恢复。可按照以下步骤排查解决:
解决步骤
- 确认系统/用户层面环境变量是否清空
执行以下命令分别查询用户、系统级别的代理变量值:
# 查询用户级HTTP_PROXY [Environment]::GetEnvironmentVariable('HTTP_PROXY', 'User') # 查询系统级HTTP_PROXY [Environment]::GetEnvironmentVariable('HTTP_PROXY', 'Machine') # 查询用户级HTTPS_PROXY [Environment]::GetEnvironmentVariable('HTTPS_PROXY', 'User') # 查询系统级HTTPS_PROXY [Environment]::GetEnvironmentVariable('HTTPS_PROXY', 'Machine')
如果以上命令有非空输出,说明你之前的删除命令权限不足:删除系统级环境变量必须以管理员身份启动PowerShell,再重新执行你之前的SetEnvironmentVariable命令即可生效。
- 排查PowerShell启动配置(Profile)
如果第一步的查询结果全部为空,说明变量是PowerShell启动时自动加载的配置脚本注入的:
- 执行命令打开配置文件:
notepad $PROFILE - 查找文件中所有设置
$env:HTTP_PROXY、$env:HTTPS_PROXY的行,直接删除对应内容 - 保存文件后重启PowerShell即可
- 排查第三方工具自动注入
如果前两步操作完成后问题仍存在,检查你常用的代理客户端(如Clash、V2RayN等)是否开启了「自动设置环境变量」功能,关闭对应功能后变量就不会再自动生成。
内容的提问来源于stack exchange,提问作者Azusa Tsang
相关产品推荐
相关产品推荐

