Как изменить настройки прокси-сервера в Windows 7 из командной строки?

Как изменить настройки прокси-сервера в Windows 7 из командной строки?

Как изменить настройки прокси-сервера из командной строки в Windows 7?

Я говорю не только о http_proxy. Мне нужно задать общесистемные настройки прокси (те, что в настройках свойств Интернета). Как это сделать?

решение1

Вам нужно будет настроить скрипт реестра, который будет вносить изменения, которые вы обычно делаете через Панель управления, а затем объединить скрипт, чтобы включить прокси. Вам также понадобится скрипт реестра "отменить", чтобы отключить изменения.

В моем случае у меня есть два скрипта, enable.reg и disable.reg:

Включить прокси:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]
"AutoConfigURL"="http://10.10.10.1/autoproxy/proxy.pac"

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections]
"DefaultConnectionSettings"=hex:16,00,00,00,05,02,00,00,0d,00,00,00,0e,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
"SavedLegacySettings"=hex:36,00,00,00,46,1a,00,00,0d,00,00,00,0e,00,00,00,32,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00

Отключить прокси:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]
"AutoConfigURL"=-

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections]
"DefaultConnectionSettings"=hex:16,00,00,00,05,02,00,00,0d,00,00,00,0e,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
"SavedLegacySettings"=hex:36,00,00,00,46,1a,00,00,0d,00,00,00,0e,00,00,00,32,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00

В скрипте «disable» =-в конце AutoConfigURL фактически удаляется ключ из реестра.

Обратите внимание, что значения, которые вы видите выше, изменены для целей этого ответа. Фактические шестнадцатеричные значения намного длиннее.

Для использования этих скриптов у меня был пакетный файл для каждого из них, выглядящий примерно так:

@echo off
start /min reg import C:\Path\To\Registry\File\enable_proxy.reg

Это полностью работоспособно из командной строки.

решение2

Простое и работающее решение, полученное изhttp://www.ehow.com/how_6887864_do-proxy-settings-command-prompt_.html

Команда для включения использования прокси:

reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" ^
    /v ProxyEnable /t REG_DWORD /d 1 /f

Команда для отключения использования прокси:

reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" ^
    /v ProxyEnable /t REG_DWORD /d 0 /f

Команда для смены адреса прокси:

reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" ^
    /v ProxyServer /t REG_SZ /d proxyserveraddress:proxyport /f

Я добавил продолжение строки (^) для улучшения читаемости. Кроме того, в этом случае это больше похоже на настройку для пользователя, чем на общесистемную настройку.

решение3

НетШв помощь!

NetSh winhttp set proxy Должно быть полезно. Вот команды:

netsh winhttp set proxy myproxy

netsh winhttp set proxy myproxy:80 "<local>bar"

netsh winhttp set proxy proxy-server="http=myproxy;https=sproxy:88" bypass-list="*.contoso.com"

решение4

Создайте пакетный файл и вставьте следующий контент (он переключит состояние прокси-сервера):

@echo off

FOR /F "tokens=2* delims=    " %%A IN ('REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable') DO SET currentProxy=%%B
rem ECHO currentProxy=%currentProxy%

if %currentProxy%==0x1 (
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable /t REG_DWORD /d 0 /f
echo Proxy Disabled
) else (
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable /t REG_DWORD /d 1 /f
echo Proxy Enabled
  )

pause

Связанный контент