In Windows 7, Is it possible to define/change the proxy config from the command line?
So, using the GUI, I would go:
Start → Control Panel → Network and Internet → Internet Options → Connections → LAN Settings
- enable/disable the proxy;
- define IP:port of proxy server.
But I would like to rather do this from the command line (so that I can run the command from a batch-file with a shortcut key — enabling me to switch proxy configs using a short-cut, rather than having to wade through the MS wizard).
I’ve looked at using
netsh.exe to change the settings for WinHTTP, but this seems to be thr wrong thing to do, as the WinHTTP setting do not appear to be related to the LAN settings.
In Windows 7 proxycfg.exe has been replaced with the netsh command. Netsh.exe is a command-line scripting utility that allows you to, either locally or remotely, display or modify the network configuration of a computer that is currently running. To setup a local machine proxy you would use the following syntax:
- open a command prompt in administrative mode (hit start globe, type
cmd, then hit Ctrl+Shift + Enter)
To set a proxy:
netsh winhttp set proxy [proxy server address:port number] [bypass list]
netsh winhttp set proxy "myproxy.proxyaddress.com:8484" "<local>;*.proxyaddress.com"
To check your proxy server setting:
netsh winhttp show proxy
To remove the proxy server setting:
netsh winhttp reset proxy
netsh command is interactive so you can always just type netsh and then the subsequent commands you need to save some key stroaks.
Important note: If you’re running on a 64-bit OS, and want the proxy to be applied for 32-bit processes as well, you’ll need to also modify your settings by running
C:WindowsSysWow64netsh.exe. This is caused by a bug in Windows 7’s version of
netsh.exe, which doesn’t write the registry values to the
Wow6432Node key. This bug seems to be fixed for Windows 10 (and probably Windows 8 as well)
I do not know how to change proxy in windows 7 from command line.
But there is a tool to switch Windows proxies easily. We can configure several proxies and switch between proxies from the system tray. I know this is not the answer you are looking for but will probably help other users.
Btw, these are the registry settings for Windows proxy, should be easy to write a script to change the ie proxy from command line. I haven’t tried it though.
I have the following code tested on Windows XP. You can give it a try on Windows 7.
Remember to replace x.x.x.x:p with the IP address and port of your proxy server.
To set up,
setlocal set SUBKEY=SoftwareMicrosoftWindowsCurrentVersionInternet 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
To remove (also settings for dialup connections),
setlocal set SUBKEY=SoftwareMicrosoftWindowsCurrentVersionInternet 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