如何从命令行更改 Windows7 LAN 代理配置?

如何从命令行更改 Windows7 LAN 代理配置?

在 Windows 7 中,是否可以从命令行定义/更改代理配置?

因此,使用 GUI,我会这样做:

开始 → 控制面板 → 网络和 Internet → Internet 选项 → 连接 → LAN 设置

进而

  • 启用/禁用代理;
  • 定义代理服务器的IP:端口。

但我更愿意从命令行执行此操作(这样我就可以使用快捷键从批处理文件运行命令 - 使我能够使用快捷方式切换代理配置,而不必费力地通过 MS 向导)。

我曾经考虑过使用它netsh.exe来更改 WinHTTP 的设置,但这似乎是错误的做法,因为 WinHTTP 设置似乎与 LAN 设置无关。

答案1

在 Windows 7 中,proxycfg.exe 已被替换为网络管理员命令。Netsh.exe 是一个命令行脚本实用程序,它允许您在本地或远程显示或修改当前正在运行的计算机的网络配置。要设置本地计算机代理,您可以使用以下语法:

  • 以管理模式打开命令提示符(点击启动地球仪,输入 cmd,然后按 Ctrl+Shift + Enter

要设置代理:

netsh winhttp set proxy [proxy server address:port number] [bypass list]

例子:

netsh winhttp set proxy "myproxy.proxyaddress.com:8484" "<local>;*.proxyaddress.com"

要检查您的代理服务器设置:

netsh winhttp show proxy

要删除代理服务器设置:

netsh winhttp reset proxy

netsh命令是交互式的,因此您始终只需键入 netsh,然后键入您需要的后续命令即可保存一些键盘按键。

重要的提示:如果您在 64 位操作系统上运行,并且希望代理也适用于 32 位进程,则还需要通过运行 来修改设置C:\Windows\SysWow64\netsh.exe。这是由 Windows 7 版本的 中的一个错误引起的netsh.exe,它不会将注册表值写入Wow6432Node键。这个错误似乎已在 Windows 10 中得到修复(可能也适用于 Windows 8)

答案2

我不知道如何从命令行更改 Windows 7 中的代理。

但是有一个工具可以轻松切换 Windows 代理。我们可以配置多个代理并从系统托盘在代理之间切换。我知道这不是您要找的答案,但可能会对其他用户有所帮助。

请点击此处:

http://www.winhelponline.com/blog/quickly-switch-proxy-settings-using-ieproxy/

http://ieproxy.codeplex.com/releases/view/19014

编辑:

顺便说一句,这些是 Windows 代理的注册表设置,应该很容易编写脚本来从命令行更改 ie 代理。不过我还没有尝试过。

http://ozansafi.wordpress.com/2009/07/05/enabledisable-change-ie-proxy-by-scriptprogrammatically/

答案3

我已经在 Windows XP 上测试了以下代码。您可以在 Windows 7 上尝试一下。

请记住将 xxxx:p 替换为您的代理服务器的 IP 地址和端口。

建立,

setlocal
set SUBKEY=Software\Microsoft\Windows\CurrentVersion\Internet Settings
reg add "HKCU\%SUBKEY%" /f /v MigrateProxy /t REG_DWORD /d 0x1
reg add "HKCU\%SUBKEY%" /f /v ProxyEnable /t REG_DWORD /d 0x1
reg add "HKCU\%SUBKEY%" /f /v ProxyServer /t REG_SZ /d "x.x.x.x:p"
reg add "HKCU\%SUBKEY%" /f /v ProxyOverride /t REG_SZ /d "<local>"
endlocal

要删除(也删除拨号连接的设置),

setlocal
set SUBKEY=Software\Microsoft\Windows\CurrentVersion\Internet Settings
reg delete "HKCU\%SUBKEY%\Connections" /f
reg add    "HKCU\%SUBKEY%" /f /v MigrateProxy /t REG_DWORD /d 0x1
reg add    "HKCU\%SUBKEY%" /f /v ProxyEnable /t REG_DWORD /d 0x0
reg delete "HKCU\%SUBKEY%" /f /v ProxyServer
reg delete "HKCU\%SUBKEY%" /f /v ProxyOverride
endlocal

相关内容