Windows Proxy Server systemweit einstellen

Die im Internet Explorer hinterlegten Proxyeinstellen werden vom IE ausgewertet sowie von allen Programmen die auf die Internet Explorer Einstellungen zurückgreifen können.

Damit Proxyeinstellungen vom ganzen System genutzt werden können, sprich auch von Anwendungen die in .NET erstellt worden sind, z.B. Powershell, WinRM, WU müssen diese erst einmal gesetzt werden.  Der IE bleibt weiterhin außen vor. Dazu nutzen wir das Kommandozeilentool “netsh”.

netsh winhttp show proxy
netsh winhttp set proxy proxy.nds-edv.de:3128

Wenn die Einstellungen die im IE hinterlegt sind auf in dem “System” Proxy wirken sollen, so kann man diese direkt importieren (WinINET > WinHTTP).

netsh winhttp import proxy source =ie

Proxy Umgehungsliste (Bypass-List) setzen

netsh winhttp set proxy “proxy.nds-edv.de:3128” bypass-list= “*.test.local”

Um die Einstellungen rund um den “System” Proxy rückgängig zu machen, wird dieser Befehl ausgeführt.

netsh winhttp reset proxy

Im Allgemeinen gibt es 3 Möglichkeiten einen Proxy-Server zu konfigurieren/nutzen.

  1. Zum einen in Anwendungen die ihre eigenen Proxykonfigurationseinstellungen mitbringen und somit auf keine API des Systems zurückgreifen können oder wollen.
  2. Anwendungshersteller die das Rad nicht neu erfinden wollen greifen auf die WinINET API (Kernstück vom Internet Explorer) zurück. Somit partizipieren Anwendungen auch direkt von der Cookiebehandlung, den SSL/TLS Einstellungen und dem konfigurierten Proxy im IE.
  3. WinHTTP ist eher für eine nicht-interaktive Verwendung gedacht, wie z.B. für Windows-Dienste oder Aufgaben die im Hintergrund kommunizieren müssen, also für Prozesse die keinen Benutzereingriff erfordern (Windows Update, Powershell, WinRM, Zertifikatsprüfung).

WinHTTP ist im Vergleich zu WinINET performanter und ist von .NET abhängig. Beides kann über die Automatische Erkennung, manuelle Konfiguration oder Proxy-Auto-Skript konfiguriert werden.

Zusammengefasst bedeutet das, dass WinHTTP nicht die Einstellungen von WinINET, die im Internet Explorer konfiguriert werden, nutzt. Dazu müsste erst wie oben beschrieben dieser Befehl “netsh winhttp import proxy source =ie” ausgeführt werden.

WinINET wird im Internet Explorer konfiguriert und ist nur für das jeweilige Benutzerkonto gültig. Standardmäßig ist die automatische Suche vor eingestellt und nutzt somit das Web Proxy Autodiscovery Protocol (WPAD). Der Proxy wird somit entweder durch eine DHCP-Option oder durch eine DNS Abfrage WPAD-A konfiguriert. Möchte man das jeder Benutzer die gleichen Settings benutzt, kann das über eine Gruppenrichtlinie gesteuert werden.

Computer Configuration\Administrative Templates\Windows Components\Internet Explorer
Make proxy settings per-machine (rather than per user)