Endpoint Atlas
Glossar
Back to blog

NetLogonGuard im Einsatz: Entra AutoLogon Race Condition fixen

JU
Julian Wolf·Intune·3 min read

Wenn du Kiosk, Shared Device oder Signage mit Entra Konto betreibst, kennst du das Problem: Windows versucht den AutoLogon, bevor Netzwerk und Internet wirklich bereit sind. Ergebnis ist oft ein gescheiterter Cloud Login und du landest am Lock Screen.

Das Projekt NetLogonGuard setzt genau dort an.

Was das Tool löst

NetLogonGuard adressiert eine klassische Start Race Condition:

  1. System bootet
  2. Logon startet sehr früh
  3. DHCP oder WLAN ist noch nicht fertig
  4. Entra Tokenvalidierung scheitert

Damit bricht der unbeaufsichtigte AutoLogon Ablauf, obwohl die Konfiguration eigentlich korrekt ist.

Wie NetLogonGuard technisch arbeitet

NetLogonGuard ist ein Windows Credential Provider Filter in C++. Der Filter hängt sich in den Logon Ablauf und blockiert die Rückgabe im Logon Szenario, bis entweder Internet erkannt wurde oder ein Timeout erreicht ist.

Kernpunkte:

  1. Trigger nur für Logon Szenario
  2. Netzcheck über INetworkListManager
  3. Polling Intervall alle 500 ms
  4. Fail Safe über Timeout
  5. Default Timeout laut Projekt 120 Sekunden

Das Entscheidende ist: Es wird auf echte Internet Verfügbarkeit gewartet, nicht nur auf Link Up.

Erwartetes Verhalten auf dem Gerät

Wichtig für Techniker und Service Desk:

  1. Während der Wartephase kann der Logon Screen leer wirken
  2. Das ist erwartetes Verhalten, nicht automatisch ein Freeze
  3. Sobald Netzwerk steht, geht der Ablauf weiter
  4. Wenn Timeout erreicht wird, wird freigegeben und normaler Login ist wieder möglich

Deployment Ablauf in der Praxis

Ein minimaler Deployment Pfad sieht so aus:

  1. DLL bauen oder aus vertrauenswürdiger Build Pipeline beziehen
  2. Nach System32 kopieren
  3. Mit regsvr32 registrieren
  4. Optional Timeout in Registry setzen
  5. Reboot durchführen

Beispiel Befehle als Admin:

copy /Y "x64\Release\NetLogonGuard.dll" "%SystemRoot%\System32\NetLogonGuard.dll"
regsvr32 "%SystemRoot%\System32\NetLogonGuard.dll"

Optional Timeout setzen:

New-Item -Path "HKLM:\SOFTWARE\NetLogonGuard" -Force
New-ItemProperty -Path "HKLM:\SOFTWARE\NetLogonGuard" -Name "TimeoutSeconds" -Value 60 -PropertyType DWord -Force

Intune Empfehlung

Wenn du das über Intune verteilst, dann in kontrollierten Wellen:

  1. Pilotgruppe mit wenigen Testgeräten
  2. Monitoring auf Bootdauer und Login Erfolgsquote
  3. Helpdesk informieren, dass ein leerer Screen während der Wartezeit by design sein kann
  4. Erst danach breite Zuweisung

Risiken und Guardrails

NetLogonGuard greift tief in den Login Pfad ein. Deshalb sauber absichern:

  1. Nur signierte und geprüfte Binaries verwenden
  2. Rollback Plan vorbereiten mit unregister und Datei entfernen
  3. Timeout nicht zu hoch setzen
  4. Dokumentation für Betrieb und Incident Response pflegen

Rollback Beispiel:

regsvr32 /u "%SystemRoot%\System32\NetLogonGuard.dll"
del "%SystemRoot%\System32\NetLogonGuard.dll"

Fazit

Für Entra basierte Kiosk und Shared Device Szenarien kann NetLogonGuard ein sehr wirksamer Fix sein, wenn AutoLogon am frühen Netzwerkstatus scheitert. Das Projekt ist klein, fokussiert und technisch klar aufgebaut.

Teilen: