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


22

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

因此,使用GUI,我会:

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

然后

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

但是,我想从命令行执行此操作(以便我可以使用快捷键从批处理文件运行命令-使我可以使用快捷方式来切换代理配置,而不必通过MS进行操作向导)。

我已经看过netsh.exe用于更改WinHTTP的设置,但这似乎是错的事情,因为WinHTTP设置似乎与LAN设置无关。

Answers:


22

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

  • 在管理模式下打开命令提示符(单击开始Globe,键入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版本的bug引起的,该bug netsh.exe不会将注册表值写入注册表Wow6432Node项。此错误似乎已针对Windows 10(可能还有Windows 8)修复。


对于Windows 7:用法:设置proxy [proxy-server =] <服务器名称> [bypass-list =] <主机列表>参数:标记值proxy-server-用于HTTP和/或https协议旁路列表的代理服务器-应绕过代理访问的站点列表(使用“ <local>”绕过所有短名称主机)示例:set proxy myproxy set proxy myproxy:80“ <local>; bar” set proxy proxy-server =“ http = myproxy; https = sproxy:88“ bypass-list =” *。foo.com“
Gerrie

1

我不知道如何从命令行更改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/


0

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

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

建立,

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

但是然后,看来您需要打开“ LAN设置”窗口并将其关闭才能生效...
Dov 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.