Jak zmienić ustawienia proxy z wiersza poleceń w systemie Windows 7?
Nie mówię tylko o http_proxy
. Muszę ustawić ogólnosystemowe ustawienia proxy (te w ustawieniach właściwości Internetu). W jaki sposób mogę to zrobić?
Jak zmienić ustawienia proxy z wiersza poleceń w systemie Windows 7?
Nie mówię tylko o http_proxy
. Muszę ustawić ogólnosystemowe ustawienia proxy (te w ustawieniach właściwości Internetu). W jaki sposób mogę to zrobić?
Odpowiedzi:
Musisz skonfigurować skrypt rejestru, który wprowadzi zmiany, które normalnie zrobiłbyś za pomocą Panelu sterowania, a następnie scalić skrypt, aby włączyć serwer proxy. Potrzebny byłby również skrypt rejestru „cofnij”, aby wyłączyć zmiany.
W moim przypadku mam dwa skrypty: enable.reg i disable.reg:
Włącz serwer proxy:
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
Wyłącz serwer proxy:
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
W skrypcie „wyłącz” =-
na końcu AutoConfigURL faktycznie usuwa klucz z rejestru.
Pamiętaj, że wartości, które widzisz powyżej, zostały zmodyfikowane na potrzeby tej odpowiedzi. Rzeczywiste wartości szesnastkowe są znacznie dłuższe.
Aby użyć tych skryptów, miałem plik wsadowy dla każdego z nich, wyglądający mniej więcej tak:
@echo off
start /min reg import C:\Path\To\Registry\File\enable_proxy.reg
Jest to w pełni wykonalne z poziomu wiersza poleceń.
c#
kod do tego .. :). dzięki w każdym razie ..
Proste i działające rozwiązanie pobrane z http://www.ehow.com/how_6887864_do-proxy-settings-command-prompt_.html
Polecenie włączenia użycia proxy:
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" ^
/v ProxyEnable /t REG_DWORD /d 1 /f
Polecenie wyłączenia użycia proxy:
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" ^
/v ProxyEnable /t REG_DWORD /d 0 /f
Polecenie zmiany adresu proxy:
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" ^
/v ProxyServer /t REG_SZ /d proxyserveraddress:proxyport /f
Dodałem kontynuację linii (^) dla lepszej czytelności. Ponadto w tym przypadku bardziej przypomina ustawienie na użytkownika niż ustawienie systemowe.
^
Znaki nie są częścią poleceń.
NetSh na ratunek!
NetSh winhttp set proxy
powinno być pomocne. Oto polecenia:
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"
Zrobiłem to w C #, ale filozofia jest taka sama, piszę do rejestru, więc poniższe instrukcje można ekstrapolować na polecenie linii. Należy to zrobić trzy rzeczy:
Napisz do rejestru „HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Internet Settings”, na ProxyEnable: 1, aby włączyć, 0, aby wyłączyć
Napisz do rejestru „HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Internet Settings” na serwerze ProxyServer: xxx.xxx.xxx.xxxx: rrrr (xxx ... to adres IP, rr .. to port)
Po wykonaniu kroków 1 i 2 napiszesz do rejestracji aktywację serwera proxy oraz adresu IP i portu, ale jeśli otworzysz przeglądarkę, zauważysz, że to nie wystarczy, nie możesz jeszcze nawigować. Trzeci krok polega na zmianie rejestru w zakresie ustawień połączeń:
„Software \ Microsoft \ Windows \ CurrentVersion \ Internet Settings \ Connections” w „DefaultConnectionSettings”.
Zauważ, że chociaż (przynajmniej dla W7) w tym rejestrze jest 204 bajtów, musisz jedynie zmodyfikować bajt 8 (9, ponieważ bajt 0 jest pierwszym). Wartość Byte 8 zawiera nie tylko informacje o włączaniu / wyłączaniu proxy, ale także o innych funkcjach:
//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.
W moim przypadku „Automatycznie wykryj ustawienia” jest zawsze włączone, więc zmieniam wartość bajtu 8 z 09 na 0B i odwrotnie, aby włączyć lub wyłączyć proxy.
Utwórz plik wsadowy i wklej następującą zawartość (spowoduje to przełączenie stanu serwera proxy),
@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
Mam nadzieję, że wskazuję ci właściwy kierunek tutaj, ale jeśli próbujesz uzyskać dostęp do ustawień proxy przez „Opcje internetowe”, po prostu otwórz menu startowe i wpisz „opcja internetowa” (dowolne ustawienie lub aplikacja, którą możesz zlokalizować również w ten sposób) przykład „proxy”). Następnie powinieneś rozpoznać to menu i móc dodać potrzebne ustawienia.