it-swarm.com.de

Wie ändere ich in Windows 7 die Proxy-Einstellungen über die Befehlszeile?

Wie ändere ich die Proxy-Einstellungen über die Befehlszeile in Windows 7?

Ich spreche nicht nur über den http_proxy. Ich muss systemweite Proxy-Einstellungen festlegen (die Einstellungen in den Internet-Eigenschaften). Wie mache ich das?

45
prongs

Sie müssen ein Registrierungsskript konfigurieren, das die Änderungen vornimmt, die Sie normalerweise über die Systemsteuerung vornehmen würden, und das Skript dann zusammenführen, um den Proxy zu aktivieren. Sie benötigen außerdem ein Registrierungsskript "Rückgängig", um die Änderungen zu deaktivieren.

In meinem Fall habe ich zwei Skripte, enable.reg und disable.reg:

Proxy aktivieren:

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

Proxy deaktivieren:

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

Im Skript "disable" löscht der =- am Ende von AutoConfigURL den Schlüssel tatsächlich aus der Registrierung.

Beachten Sie, dass die oben angezeigten Werte für die Zwecke dieser Antwort geändert werden. Die tatsächlichen Hex-Werte sind viel länger.

Um diese Skripte zu verwenden, hatte ich für jedes eine Batch-Datei, die ungefähr so ​​aussah:

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

Das ist voll funktionsfähig von der Kommandozeile.

15
user3463

Einfache und funktionierende Lösung abgerufen von http://www.ehow.com/how_6887864_do-proxy-settings-command-Prompt_.html

Befehl zum Aktivieren der Proxy-Nutzung:

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

Befehl zum Deaktivieren der Proxy-Verwendung:

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

Befehl zum Ändern der Proxy-Adresse:

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

Ich habe die Zeilenfortsetzung (^) hinzugefügt, um die Lesbarkeit zu verbessern. In diesem Fall ist dies eher eine benutzerspezifische als eine systemweite Einstellung.

60
sayap

NetSh zur Rettung!

NetSh winhttp set proxy sollte hilfreich sein. Hier sind die Befehle:

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"

27

Ich habe es in C # gemacht, aber die Philosophie ist dieselbe, in der ich in die Registrierung schreibe, sodass die folgenden Anweisungen auf den Zeilenbefehl hochgerechnet werden können. Es sollen drei Dinge getan werden:

  1. In die Registrierung "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" auf ProxyEnable schreiben: 1 zum Aktivieren, 0 zum Deaktivieren

  2. In die Registrierung "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" auf ProxyServer schreiben: xxx.xxx.xxx.xxxx: yyyy (xxx ... ist die IP, yy .. ist der Port)

  3. Nachdem Sie die Schritte 1 und 2 ausgeführt haben, müssen Sie die Aktivierung des Proxys sowie die IP und den Port registrieren. Wenn Sie jedoch den Browser öffnen, werden Sie feststellen, dass dies nicht ausreicht. Sie können jedoch noch nicht navigieren. Der dritte Schritt besteht darin, die Registrierung hinsichtlich der Verbindungseinstellungen zu ändern:

"Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections" unter "DefaultConnectionSettings".

Beachten Sie, dass diese Registrierung zwar (zumindest für W7) 204 Byte enthält, Sie jedoch nur Byte 8 ändern müssen (9., da Byte 0 das erste ist). Der Wert in Byte 8 enthält nicht nur Informationen zum Aktivieren/Deaktivieren des Proxys, sondern auch zu anderen Funktionen:

        //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. 

In meinem Fall ist die Option "Einstellungen automatisch erkennen" immer aktiviert. Daher ändere ich den Wert von Byte 8 von 09 auf 0B und umgekehrt, um den Proxy zu aktivieren und zu deaktivieren.

3
Ivan

Erstellen Sie eine Batch-Datei und fügen Sie den folgenden Inhalt ein (der Proxy-Status wird umgeschaltet).

@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
2
Dinesh Gupta