48 votes

Sous Windows 7, comment modifier les paramètres du proxy à partir de la ligne de commande ?

Comment modifier les paramètres du proxy à partir de la ligne de commande dans Windows 7 ?

Je ne parle pas seulement de la http_proxy . J'ai besoin de définir les paramètres du proxy pour l'ensemble du système (ceux qui se trouvent dans les paramètres des propriétés Internet). Comment faire ?

64voto

sayap Points 747

Solution simple et efficace récupérée à partir de http://www.ehow.com/how_6887864_do-proxy-settings-command-prompt_.html

Commande permettant d'activer l'utilisation du proxy :

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

Commande permettant de désactiver l'utilisation du proxy :

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

Commande permettant de modifier l'adresse du proxy :

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

J'ai ajouté des retours à la ligne (^) pour améliorer la lisibilité. De plus, dans ce cas, il s'agit plus d'un réglage par utilisateur que d'un réglage à l'échelle du système.

27voto

Giorgio Points 2171

NetSh à la rescousse !

NetSh winhttp set proxy devrait être utile. Voici les commandes :

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"

16voto

Vous devrez configurer un script de registre qui apportera les modifications que vous feriez normalement via le panneau de configuration, puis fusionner le script pour activer le proxy. Vous aurez également besoin d'un script "d'annulation" pour désactiver les modifications.

Dans mon cas, j'ai deux scripts, enable.reg et disable.reg :

Activer le 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

Désactiver le 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

Dans le script "désactivé", la fonction =- à la fin d'AutoConfigURL supprime effectivement la clé du registre.

Notez que les valeurs que vous voyez ci-dessus ont été modifiées pour les besoins de cette réponse. Les valeurs hexagonales réelles sont beaucoup plus longues.

Pour utiliser ces scripts, j'avais un fichier batch pour chacun d'entre eux, ressemblant à quelque chose comme ceci :

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

Cela est tout à fait possible à partir de la ligne de commande.

4voto

govinda Points 627

Je l'ai fait en C#, mais la philosophie est la même, écrire dans le registre, donc les instructions suivantes peuvent être extrapolées à la commande en ligne. Il y a trois choses à faire :

  1. Écrire dans le registre "HKCU \Software\Microsoft\Windows\CurrentVersion\Internet Paramètres", sur ProxyEnable : 1 pour activer, 0 pour désactiver

  2. Écrire dans le registre "HKCU \Software\Microsoft\Windows\CurrentVersion\Internet Settings", sur ProxyServer : xxx.xxx.xxx.xxxx:yyyy (xxx... est l'IP, yy... est le port)

  3. Après avoir effectué les étapes 1 et 2, vous aurez inscrit dans le registre l'activation du proxy ainsi que l'IP et le port, mais si vous ouvrez le navigateur, vous remarquerez que ce n'est pas suffisant, vous ne pouvez pas encore naviguer. La troisième étape consiste à modifier le registre concernant les paramètres de connexion :

"Logiciel \Microsoft\Windows\CurrentVersion\Internet Paramètres \Connections "sur "DefaultConnectionSettings".

Remarquez que bien que (du moins pour W7) il y ait 204 octets dans ce registre, vous ne devez modifier que l'octet 8 (9e puisque l'octet 0 est le premier). La valeur de l'octet 8 ne contient pas seulement des informations sur l'activation/désactivation du proxy, mais aussi sur d'autres fonctionnalités :

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

Dans mon cas, l'option "Détecter automatiquement les paramètres" est toujours activée, je fais donc passer la valeur de l'octet 8 de 09 à 0B et vice versa pour activer et désactiver le proxy.

2voto

Dinesh Gupta Points 29

Créez un fichier batch et collez le contenu suivant (il fera basculer l'état 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

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X