0%

配置Powershell命令行代理

在日常windows环境开发中,powershell经常需要用到代理,但是每次去系统变量中配置环境变量还是显得过于麻烦了,所以我们可以定义两个命令:

  • 应用代理环境变量
  • 取消代理环境变量

直接在powershell中调用这两命令就方便很多了。

Powershell基本概念

Powershell中不像bash那样所有东西都是字符串,它支持对象,比如环境变量是存放在Env对象中的,添加和移除环境变量都是操作Env这个对象。

操作对象的方式(以环境变量为例):

  • 添加/修改一个键值对:Set-Item Env:http_proxy = "http://127.0.0.1:1080"
  • 移除一个键值对:Remove-Item Env:http_proxy

知道这个就能配置代理了。

编写脚本

我们需要将这两个命令写入powershell启动脚本(类似linux的.bashrc),windows启动脚本在哪儿?点击这里

1
2
3
4
5
6
7
8
9
10
11
12
function set_proxy_variable {
Set-Item Env:http_proxy "http://127.0.0.1:1080" # 代理地址
Set-Item Env:https_proxy "http://127.0.0.1:1080" # 代理地址
}

function unset_proxy_variable {
Remove-Item Env:http_proxy
Remove-Item Env:https_proxy
}

New-Alias -Name spp -Value set_proxy_variable
New-Alias -Name upp -Value unset_proxy_variable

报错

如果打开新的poewrshell窗口报此系统上禁止运行脚本错误,需要设置运行策略。

1
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

使用

  • spp 启用代理
  • upp 取消代理