Як змінити налаштування проксі з командного рядка в Windows 7?
Я не кажу тільки про те http_proxy
. Мені потрібно встановити загальносистемні налаштування проксі (ті, що в налаштуваннях властивостей Інтернету). Як це зробити?
Як змінити налаштування проксі з командного рядка в Windows 7?
Я не кажу тільки про те http_proxy
. Мені потрібно встановити загальносистемні налаштування проксі (ті, що в налаштуваннях властивостей Інтернету). Як це зробити?
Відповіді:
Вам потрібно буде налаштувати скрипт реєстру, який буде вносити зміни, які ви зазвичай виконували через Панель управління, а потім об'єднати сценарій, щоб увімкнути проксі. Вам також знадобиться "скасувати" сценарій реєстру, щоб відключити зміни.
У моєму випадку у мене є два сценарії, enable.reg та ones.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#
код для цього .. :). Thanx будь-якому випадку ..
Просте та робоче рішення, отримане з 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 на допомогу!
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"
Я робив це на 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 на 0В і навпаки, щоб включити і вимкнути проксі.
Створіть пакетний файл і вставте наступний вміст (це переключить стан проксі),
@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
Я сподіваюсь, що я вказую на вас у правильному напрямку, але якщо ви намагаєтесь отримати доступ до налаштувань проксі через "Параметри Інтернету", просто відкрийте меню "Пуск" та введіть "Інтернет-опцію" (будь-яку настройку чи програму ви також можете знайти таким чином приклад "проксі"). Потім ви повинні розпізнати це меню та мати змогу додати потрібні налаштування.