Как изменить настройки прокси из командной строки в Windows 7?
Я не говорю только о http_proxy
. Мне нужно установить общесистемные настройки прокси (те, что в настройках свойств Интернета). Как я могу это сделать?
Как изменить настройки прокси из командной строки в Windows 7?
Я не говорю только о http_proxy
. Мне нужно установить общесистемные настройки прокси (те, что в настройках свойств Интернета). Как я могу это сделать?
Простое и рабочее решение, полученное с 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
Я добавил продолжение строки (^) для улучшения читабельности. Кроме того, в этом случае это больше похоже на настройку для каждого пользователя, чем на общесистемную настройку.
НетШ на помощь!
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"
Вам нужно будет настроить скрипт реестра, который будет вносить изменения, которые вы обычно делаете через панель управления, а затем объединить скрипт, чтобы включить прокси. Вам также потребуется скрипт отмены реестра, чтобы отключить изменения.
В моем случае у меня есть два сценария, 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
В сценарии "отключить" =-
в конце AutoConfigURL фактически удаляет ключ из реестра.
Обратите внимание, что значения, которые вы видите выше, изменены для целей этого ответа. Фактические шестнадцатеричные значения намного длиннее.
Чтобы использовать эти сценарии, у меня был пакетный файл для каждого, который выглядел примерно так:
@echo off
start /min reg import C:\Path\To\Registry\File\enable_proxy.reg
Это полностью работоспособно из командной строки.
Я сделал это в C #, но философия та же: запись в реестр, поэтому следующие инструкции можно экстраполировать на строковые команды. Это должно быть сделано три вещи:
Записать в реестр «HKCU \Software \Microsoft \Windows \CurrentVersion \Internet Settings», на ProxyEnable: 1 для включения, 0 для отключения
Записать в реестр «HKCU \Software \Microsoft \Windows \CurrentVersion \Internet Settings» на ProxyServer: xxx.xxx.xxx.xxxx: yyyy (xxx ... - это IP, yy .. - это порт)
После выполнения шагов 1 и 2 вы запишете в реестр активацию прокси-сервера, IP-адрес и порт, но если вы откроете браузер, вы заметите, что этого недостаточно, вы еще не можете перемещаться. Третий шаг состоит в изменении реестра в отношении настроек соединений:
"Программное обеспечение \Microsoft \Windows \CurrentVersion \ Интернет-настройки \ Соединения" в "DefaultConnectionSettings".
Обратите внимание, что хотя (по крайней мере для W7) в этом реестре 204 байта, вам нужно только изменить байт 8 (9-й, поскольку байт 0 является первым). Значение байта 8 содержит не только информацию о включении / отключении прокси, но и о других функциях:
//09 when only 'Automatically detect settings' is enabled
//03 when only 'Use a proxy server for your LAN' is enabled
//0B when both are enabled
//05 when only 'Use automatic configuration script' is enabled
//0D when 'Automatically detect settings' and 'Use automatic configuration script' are enabled
//07 when 'Use a proxy server for your LAN' and 'Use automatic configuration script' are enabled
//0F when all the three are enabled.
//01 when none of them are enabled.
В моем случае «Автоматическое определение настроек» всегда включено, поэтому я переключаю значение байта 8 с 09 на 0B и наоборот, чтобы включить и отключить прокси.
Создайте пакетный файл и вставьте следующий контент (он переключит состояние прокси),
@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
Я надеюсь, что я указываю вам правильное направление, но если вы пытаетесь получить доступ к настройкам прокси-сервера через "Свойства обозревателя", просто откройте меню "Пуск" и введите "Параметр Интернета" (любой параметр или приложение, которое вы можете найти таким образом, также пример "прокси"). Затем вы должны распознать это меню и иметь возможность добавить необходимые настройки.