So konfigurieren Sie Proxy-Einstellungen unter Windows

Ü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:

  1. Kommunikationsart bestimmen (Benutzer oder System).
  2. Entsprechende Methode (WinINET / WinHTTP) wählen.
  3. In Core-Umgebungen advproxy bevorzugen.
  4. Bei Bedarf mit reset proxy bzw. reset advproxy zurücksetzen.

Damit werden stabile Proxy-Kommunikation und erfolgreiche Windows-Updates auch in restriktiven Netzwerken gewährleistet.