- Aperçu
- Variables utilisées
- Étape 1 : Comprendre les types de configuration proxy
- Étape 2 : Configurer le proxy utilisateur avec PowerShell
- Étape 3 : Configurer le proxy système (WinHTTP / BITS)
- Étape 4 : Appliquer les paramètres proxy BITS au compte LocalSystem
- Étape 5 : Vérification et dépannage
- Réinitialiser les paramètres proxy
- Résumé
Aperçu
Cet article explique comment configurer un proxy dans Windows, en distinguant le niveau utilisateur (WinINET) et le niveau système (WinHTTP).
Exemple : ProxyServer = http=<<PROXY_ADDRESS>>;https=<<PROXY_ADDRESS>>. Les valeurs dépendantes de l’environnement sont représentées par <<variables>>.
Variables utilisées
| Variable | Exemple | Description |
|---|---|---|
<<PROXY_ADDRESS>> |
proxy.example.com:8080 |
Nom d’hôte et port du serveur proxy |
<<PROXY_BYPASS>> |
intranet.example.com;192.168.*;<local> |
Domaines et sous-réseaux exclus du proxy |
<<ADVPROXY_SETTINGS_PATH>> |
C:\proxy-settings.json |
Chemin du fichier JSON pour la configuration advproxy |
Étape 1 : Comprendre les types de configuration proxy
| Type | Portée | Utilisation |
|---|---|---|
| Niveau utilisateur (WinINET) | Session utilisateur | Navigateurs et applications utilisant les paramètres IE/Edge |
| Niveau système (WinHTTP) | Services système / OS | Communications système : Windows Update, BITS, Defender |
BITS (Background Intelligent Transfer Service) transfère efficacement les données en arrière-plan pour Windows Update et Microsoft Defender.
Il fonctionne sous le compte système local (LocalSystem), donc les paramètres WinINET ne s’appliquent pas.
Étape 2 : Configurer le proxy utilisateur avec PowerShell
$proxy = "<<PROXY_ADDRESS>>"
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" `
-Name ProxyEnable -Value 1
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" `
-Name ProxyServer -Value "http=$proxy;https=$proxy"
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" `
-Name ProxyOverride -Value "<<PROXY_BYPASS>>"
Vérification :
Get-ItemProperty "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" | Select ProxyEnable, ProxyServer, ProxyOverride
Étape 3 : Configurer le proxy système (WinHTTP / BITS)
① Méthode classique (Windows Server 2019 et versions antérieures)
netsh winhttp set proxy <<PROXY_ADDRESS>> "<<PROXY_BYPASS>>"
netsh winhttp show proxy
② Nouvelle méthode (Windows Server 2022 et versions ultérieures – recommandée)
Créer un fichier JSON :
@'
{
"ProxyIsEnabled": true,
"Proxy": "http=<<PROXY_ADDRESS>>;https=<<PROXY_ADDRESS>>",
"ProxyBypass": "<<PROXY_BYPASS>>",
"AutoConfigIsEnabled": false,
"AutoDetect": false
}
'@ | Out-File "<<ADVPROXY_SETTINGS_PATH>>" -Encoding ascii
Appliquer la configuration :
netsh winhttp set advproxy setting-scope=machine settings-file="<<ADVPROXY_SETTINGS_PATH>>"
Alternative sans fichier JSON :
netsh winhttp set advproxy setting-scope=machine settings='{\"ProxyIsEnabled\":true,\"Proxy\":\"http=<<PROXY_ADDRESS>>;https=<<PROXY_ADDRESS>>\",\"ProxyBypass\":\"<<PROXY_BYPASS>>\",\"AutoConfigIsEnabled\":false,\"AutoDetect\":false}'
Cette méthode est pratique pour les tests ou les environnements temporaires.
Étape 4 : Appliquer les paramètres proxy BITS au compte LocalSystem
bitsadmin /util /setieproxy localsystem MANUAL_PROXY <<PROXY_ADDRESS>> "<<PROXY_BYPASS>>"
bitsadmin /util /getieproxy localsystem
Étape 5 : Vérification et dépannage
netsh winhttp show proxy
Get-ItemProperty "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" | Select ProxyEnable, ProxyServer, ProxyOverride
Si Windows Update échoue via le proxy, désactivez AutoDetect et utilisez la commande advproxy sous Server Core.
Réinitialiser les paramètres proxy
Réinitialisation du proxy utilisateur (WinINET)
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" -Name ProxyEnable -Value 0
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" -Name ProxyServer -ErrorAction SilentlyContinue
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" -Name ProxyOverride -ErrorAction SilentlyContinue
Réinitialisation du proxy système (WinHTTP / advproxy)
netsh winhttp reset proxy
Pour Server 2022 et plus :
netsh winhttp set advproxy setting-scope=machine settings='{\"Proxy\":\"\",\"ProxyBypass\":\"\",\"AutoconfigUrl\":\"\",\"AutoDetect\":false}'
Résumé
Windows gère deux types principaux de configuration proxy :
- WinINET : pour les navigateurs et applications utilisateur (lié à IE/Edge).
- WinHTTP / advproxy : pour les communications système (Windows Update, BITS, Defender).
Sous Windows Server 2022+, la méthode advproxy est recommandée.
bitsadmin permet d’assurer la bonne application du proxy pour les comptes système.
Bonnes pratiques :
- Identifier la couche concernée (utilisateur ou système)
- Configurer WinINET ou WinHTTP selon le cas
- Utiliser
advproxysur Server Core - Réinitialiser avec
reset proxyoureset advproxysi nécessaire
Ainsi, les services tels que Windows Update et Defender fonctionneront correctement même derrière un proxy.
