- Übersicht
- Variablenbezeichnungen
- Schritt 1: Proxy-Arten verstehen
- Schritt 2: Proxy für Benutzer (WinINET) mit PowerShell setzen
- Schritt 3: Systemweiten Proxy konfigurieren (WinHTTP / BITS)
- Schritt 4: Proxy für BITS und LocalSystem anwenden
- Schritt 5: Überprüfung und Fehlerbehebung
- Proxy-Einstellungen zurücksetzen
- Zusammenfassung
Übersicht
In diesem Artikel wird erklärt, wie Sie Proxy-Einstellungen in Windows konfigurieren — getrennt nach Benutzerebene (WinINET) und systemweiter Ebene (WinHTTP).
Beispiel: ProxyServer = http=<<PROXY_ADDRESS>>;https=<<PROXY_ADDRESS>>
Umgebungsabhängige Werte sind mit <<Variablenname>> gekennzeichnet.
Variablenbezeichnungen
| Variable | Beispielwert | Beschreibung |
|---|---|---|
<<PROXY_ADDRESS>> |
proxy.example.com:8080 |
Hostname und Port des Proxyservers |
<<PROXY_BYPASS>> |
intranet.example.com;192.168.*;<local> |
Adressen, die den Proxy umgehen sollen; Trennung mit ; |
<<ADVPROXY_SETTINGS_PATH>> |
C:\proxy-settings.json |
Pfad zur JSON-Datei für advproxy-Einstellungen |
Schritt 1: Proxy-Arten verstehen
| Typ | Zielbereich | Verwendung |
|---|---|---|
| Benutzerebene (WinINET) | Angemeldeter Benutzer | Für Browser und benutzerbezogene Anwendungen. Spiegelt die IE/Edge-Einstellungen wider. |
| Systemebene (WinHTTP) | Dienste / gesamtes OS | Für Windows Update, BITS, Defender und andere Systemkommunikation. |
BITS (Background Intelligent Transfer Service) überträgt Daten im Hintergrund, z. B. für Windows Update oder Defender-Definitionen.
Da es unter dem Konto LocalSystem läuft, werden Benutzereinstellungen (WinINET) nicht übernommen.
Schritt 2: Proxy für Benutzer (WinINET) mit PowerShell setzen
$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>>"
Überprüfung:
Get-ItemProperty "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" | Select ProxyEnable, ProxyServer, ProxyOverride
Schritt 3: Systemweiten Proxy konfigurieren (WinHTTP / BITS)
① Klassische Methode (Windows Server 2019 und älter)
netsh winhttp set proxy <<PROXY_ADDRESS>> "<<PROXY_BYPASS>>"
netsh winhttp show proxy
② Neue Methode (empfohlen ab Windows Server 2022)
Erstellen einer JSON-Datei:
@'
{
"ProxyIsEnabled": true,
"Proxy": "http=<<PROXY_ADDRESS>>;https=<<PROXY_ADDRESS>>",
"ProxyBypass": "<<PROXY_BYPASS>>",
"AutoConfigIsEnabled": false,
"AutoDetect": false
}
'@ | Out-File "<<ADVPROXY_SETTINGS_PATH>>" -Encoding ascii
Anwenden der Konfiguration:
netsh winhttp set advproxy setting-scope=machine settings-file="<<ADVPROXY_SETTINGS_PATH>>"
Alternativ kann die Konfiguration direkt über die Befehlszeile erfolgen:
netsh winhttp set advproxy setting-scope=machine settings='{\"ProxyIsEnabled\":true,\"Proxy\":\"http=<<PROXY_ADDRESS>>;https=<<PROXY_ADDRESS>>\",\"ProxyBypass\":\"<<PROXY_BYPASS>>\",\"AutoConfigIsEnabled\":false,\"AutoDetect\":false}'
Diese Methode eignet sich für temporäre Umgebungen oder Tests ohne separate JSON-Datei.
Schritt 4: Proxy für BITS und LocalSystem anwenden
bitsadmin /util /setieproxy localsystem MANUAL_PROXY <<PROXY_ADDRESS>> "<<PROXY_BYPASS>>"
bitsadmin /util /getieproxy localsystem
Schritt 5: Überprüfung und Fehlerbehebung
netsh winhttp show proxy
Get-ItemProperty "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" | Select ProxyEnable, ProxyServer, ProxyOverride
Wenn Windows Update über den Proxy fehlschlägt, stellen Sie sicher, dass AutoDetect deaktiviert ist.
In Server-Core-Umgebungen sollte die advproxy-Variante verwendet werden.
Proxy-Einstellungen zurücksetzen
Benutzerbezogene (WinINET) Einstellungen löschen
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
Systemweite (WinHTTP / advproxy) Einstellungen löschen
netsh winhttp reset proxy
Oder für Windows Server 2022+:
netsh winhttp set advproxy setting-scope=machine settings='{\"Proxy\":\"\",\"ProxyBypass\":\"\",\"AutoconfigUrl\":\"\",\"AutoDetect\":false}'
Zusammenfassung
Windows unterscheidet zwischen WinINET (Benutzerebene) und WinHTTP / advproxy (Systemebene):
- WinINET: beeinflusst Browser und Benutzeranwendungen.
- WinHTTP / advproxy: steuert Systemkommunikation (Windows Update, BITS, Defender usw.).
Ab Windows Server 2022 wird advproxy empfohlen, ältere Systeme verwenden weiterhin winhttp.
Durch die Kombination mit bitsadmin kann der Proxy korrekt für das Konto LocalSystem übernommen werden.
Wichtige Punkte:
- Kommunikationsart bestimmen (Benutzer oder System).
- Entsprechende Methode (WinINET / WinHTTP) wählen.
- In Core-Umgebungen
advproxybevorzugen. - Bei Bedarf mit
reset proxybzw.reset advproxyzurücksetzen.
Damit werden stabile Proxy-Kommunikation und erfolgreiche Windows-Updates auch in restriktiven Netzwerken gewährleistet.
