Windows 11 Black Screen nach September-Update

Nach einem aktuellen Windows-Patching bin ich in einer Windows-11-VDI-Umgebung auf ein interessantes Problem gestoßen.

Die Anmeldung am Citrix VDA funktionierte zunächst völlig normal. Die Session wurde aufgebaut, der Benutzer authentifiziert – doch statt des Desktops erschien anschließend nur ein permanenter schwarzer Bildschirm.

Was zunächst wie ein klassisches Citrix-, HDX- oder Profilproblem aussah, führte bei der Analyse schließlich in eine ganz andere Richtung: Windows Shell, AppX und XAML.

Und besonders interessant: Selbst das Entfernen des Windows-Updates beseitigte das Problem nicht.

Das Fehlerbild

Betroffen waren Windows-11-VDI-Systeme. Nach der Benutzeranmeldung blieb der Bildschirm schwarz.

Die Session selbst war allerdings keineswegs hängen geblieben.

Über den Task Manager ließ sich einfach explorer.exe manuell starten.

Unmittelbar danach erschienen Desktop, Taskleiste und Startmenü und die Session konnte ganz normal verwendet werden.

Das ist für die weitere Analyse ein entscheidender Hinweis.

Wenn explorer.exe manuell gestartet werden kann und anschließend ein vollständig funktionierender Desktop erscheint, funktionieren wesentliche Teile der Session offensichtlich bereits.

Damit stellt sich weniger die Frage:

Warum funktioniert die Citrix-Session nicht?

Sondern vielmehr:

Warum wird die Windows Shell während des normalen Logons nicht korrekt initialisiert?

Erst einmal die üblichen Verdächtigen

Bei einem Black Screen auf einem Citrix VDA denkt man verständlicherweise zunächst an Dinge wie VDA, HDX, Profile Management, FSLogix, GPOs oder Shell Extensions.

Insbesondere das Benutzerprofil gerät schnell unter Verdacht, wenn bestehende Benutzer betroffen sind, während ein Benutzer mit einem neuen Profil problemlos funktioniert.

Genau hier sollte man allerdings vorsichtig sein.

Ein Profil kann einen fehlerhaften Zustand persistieren, ohne selbst die ursprüngliche Ursache des Problems zu sein.

Gerade in einer non-persistent VDI-Umgebung ist diese Unterscheidung wichtig.

Die Maschine kommt beim nächsten Reboot wieder aus dem Golden Image. Der Benutzer bringt jedoch seinen persistierten User State wieder mit.

Damit kann ein Problem innerhalb der Windows-Shell beziehungsweise ihrer benutzerspezifischen Registrierung einen Reboot, Recompose oder sogar andere Änderungen am Maschinenzustand überleben. Genau diese Möglichkeit beschreibst du auch in deiner Analyse.

Update entfernen? Hat bei mir nichts gebracht

Natürlich lag nach dem zeitlichen Zusammenhang mit dem Windows-Patching ein Test nahe:

Update deinstallieren und erneut testen.

Das Ergebnis war allerdings ernüchternd.

Der Black Screen blieb bestehen.

Das ist technisch durchaus interessant, denn offenbar reicht es in diesem Fall nicht aus, einfach die Windows-Binaries auf den vorherigen Stand zurückzubringen.

Wenn durch das Update bereits ein inkonsistenter Zustand innerhalb des Benutzerkontexts oder der Shell-/AppX-Registrierung entstanden ist, kann dieser Zustand möglicherweise erhalten bleiben.

Ein einfaches:

Update weg = Problem weg

funktionierte hier jedenfalls nicht.

Die entscheidende Spur: Windows AppX und Shell

Der entscheidende Test war schließlich die erneute Registrierung einiger Windows-Shell-Komponenten.

Konkret ging es um:

Diese Komponenten stehen im Zusammenhang mit modernen Bestandteilen der Windows-Shell und der zugrunde liegenden XAML-Infrastruktur.

Für einen manuellen Test können die Pakete beispielsweise mit PowerShell erneut registriert werden:

Und genau das brachte in meinem Fall den entscheidenden Unterschied.

Nach der erneuten Registrierung funktionierte der nächste Logon wieder.

explorer.exe wurde automatisch gestartet und der Desktop erschien wie erwartet.

Was bedeutet das?

Eine endgültige Root Cause ist damit natürlich noch nicht bewiesen.

Das Verhalten grenzt das Problem aber ziemlich deutlich ein.

Wir haben:

Windows Logon
↓
User Profile
↓
AppX / XAML / Shell State
↓
Shell-Initialisierung schlägt fehl
↓
explorer.exe startet nicht
↓
Black Screen

Nach der erneuten Registrierung der betroffenen Komponenten funktioniert die Initialisierung wieder und Explorer startet regulär.

Damit würde ich bei diesem konkreten Fehlerbild nicht als Erstes den Citrix VDA auseinandernehmen.

Der funktionierende manuelle Start von explorer.exe ist dafür schlicht ein zu deutlicher Hinweis.

Bestehendes gegen neues Profil testen

Ein weiterer sinnvoller Test ist ein komplett neuer Benutzer beziehungsweise ein neues Profil.

Wenn sich beispielsweise folgendes Bild ergibt:

Bestehendes Profil → Black Screen
Neues Profil → funktioniert

würde ich das bestehende Profil trotzdem nicht sofort löschen.

Ganz im Gegenteil: Für eine Root-Cause-Analyse ist genau dieses Profil interessant.

Bei UPM oder FSLogix würde ich deshalb zunächst eine Kopie des betroffenen Profils beziehungsweise Containers sichern.

Ein Profile Reset kann das Problem möglicherweise beseitigen – gleichzeitig vernichtet man damit aber unter Umständen genau den Zustand, den man eigentlich untersuchen möchte.

Workaround für mehrere Benutzer

Wenn sich das Verhalten reproduzieren lässt, kann die Registrierung beispielsweise über ein synchron ausgeführtes User-Logon-Script erfolgen:

Das Timing ist hierbei relevant. Die Komponenten sollen während der Logon-Sequenz korrekt registriert werden, bevor die Shell vollständig initialisiert wird.

Ich würde so einen Workaround deshalb zunächst gezielt mit einer kleinen Pilotgruppe testen und nicht blind auf sämtliche Benutzer loslassen. Dein bisheriger Test sieht gut aus, aber ein Workaround ist noch kein Root-Cause-Fix.

Finding in the Wild

Das Interessante an diesem Fall ist für mich weniger der Black Screen selbst.

Black Screens gibt es in VDI-Umgebungen schließlich in ausreichend vielen Geschmacksrichtungen.

Interessant ist vielmehr die Fehlerkette:

Citrix-Session funktioniert → Explorer startet manuell → Update-Rollback hilft nicht → AppX-/Shell-Komponenten neu registrieren → normaler Logon funktioniert wieder.

Das spricht deutlich dafür, die Ursache nicht ausschließlich innerhalb des Citrix-Stacks zu suchen.

Citrix sitzt schließlich auf einem ziemlich großen Windows-Unterbau:

Citrix HDX
↓
Windows Session
↓
User Profile
↓
AppX / XAML
↓
Windows Shell
↓
Explorer

Für den Benutzer sieht ein Fehler an fast jeder Stelle dieser Kette gleich aus:

Black Screen.

Für uns als Administratoren ist deshalb die wichtigere Frage nicht:

Warum zeigt Citrix einen schwarzen Bildschirm?

Sondern:

Welcher Teil der Windows-Logon-Sequenz ist tatsächlich fehlgeschlagen?

In diesem Fall war explorer.exe der Hinweis, der letztendlich in die richtige Richtung geführt hat.

Fazit

Finding in the Wild: Ein Black Screen nach dem Windows-Logon muss auch auf einem Citrix VDA nicht zwangsläufig ein Citrix-Problem sein.

In meinem Fall waren vor allem drei Beobachtungen entscheidend:

  1. explorer.exe ließ sich manuell starten und erzeugte anschließend einen vollständig funktionierenden Desktop.
  2. Das Entfernen des zuvor installierten Windows-Updates beseitigte das Problem nicht.
  3. Die erneute Registrierung von MicrosoftWindows.Client.CBS, Microsoft.UI.Xaml.CBS und MicrosoftWindows.Client.Core stellte den normalen Logon wieder her.

Eine endgültige Root Cause ist damit noch nicht bewiesen. Das Verhalten liefert aber einen ziemlich starken Fingerzeig in Richtung Windows Shell/AppX/XAML und benutzerspezifischer Shell-State.

Und genau deshalb mag ich solche Finding-in-the-Wild-Fälle:

Der schwarze Bildschirm ist nur das sichtbare Symptom. Das eigentliche Problem sitzt ein paar Schichten tiefer.

New Microsoft Teams (Version 2) in Citrix installieren

Die neue Version von Microsoft Teams (häufig auch „Teams 2.0“ genannt) ist seit dem 01. Juli 2024 der neue Standard.

Für VDI-Umgebungen bedeutet das:

  • 01. Oktober 2024 → End of Support (Classic Teams im VDI)
  • 01. Juli 2025 → End of Availability

Kurz gesagt:
Es gibt kein Zurück mehr.

„New Microsoft Teams (Version 2) in Citrix installieren“ weiterlesen

SAML Authentifizierung zwischen Citrix & Microsoft mit Azure MFA

Aktualisierung auf die neuste Cloud Navigation.


Als Folge der zunehmenden Projekte gibt es hier ein kleines How To mit den folgenden Punkten:

  • Azure AD Seamless Single Sign-On (PTA / PHS)
  • SAML Authentifizierung (Azure AD als IdP & NetScaler Gateway als SP)
  • Citrix Federated Authentication Service (FAS)
  • Microsoft Azure Multi-Factor-Authentication mit Conditional Access

Voraussetzungen

  • Voll funktionsfähige Citrix Virtual Apps and Desktop Umgebung (Mindestens StoreFront & DDC Version 7.9)
  • NetScaler (Citrix ADC) mit funktionsfähiger Basiskonfiguration & aktivierter Enterprise oder Platinum Lizenz (Minimum Version 12.1 Build 50+ für native Workspace App & für Browser Zugriff Minimum Version 11.1)
  • Konfigurierter Unified Gateway vServer
  • Interne und externe DNS Einträge für Unified Gateway vServer (z.B. citrix.deyda.net)
  • Zertifikate für DNS Einträge (am einfachsten sind Wildcard-Zertifikate)
  • Bestehender Azure Tenant mit Azure-AD Basiskonfiguration (Domain, AAD Sync) & aktivierter Azure AD Premium-Lizenz
  • Installierte & Konfigurierte AD Connect Version (Minimum Version 1.1.644.0)
  • Firewall Freigabe für *.msappproxy.net auf Port 443
  • Domänen Administrator Zugangsdaten für die Domänen, die sich über Azure Connect mit Azure AD verbinden
  • Installierte Authenticator App auf dem Test User Mobilgerät
„SAML Authentifizierung zwischen Citrix & Microsoft mit Azure MFA“ weiterlesen

Teams & OneDrive in Citrix installieren (Machine-Based)

Aktualisierung des bestehenden Artikels auf die neuesten Anforderungen und Funktionen.

Microsoft Teams

User Based Microsoft Teams

Bei der Standard Installation die der Benutzer z.B. über das Microsoft365 Apps Portal durchführen kann, handelt es sich um eine User-Based Installation. Dies ist im Citrix Umfeld nur für Desktop Betriebssysteme (Pooled oder Personal Desktop) empfohlen.

Eine User-Based Installation kann im User Profile sehr schnell erkannt werden, da sich dann Daten unter AppDataLocalMicrosoftTeams befinden.

Teams User Based Install

Diese Art von Installation in einem Worker mit Server Betriebssystem hat viele Nachteile:

  • Keine Kontrolle über die installierte Version
  • Mehrere unterschiedliche Version auf dem selben Worker möglich
  • Komplette Daten (~1 GB) liegen im User Profile
„Teams & OneDrive in Citrix installieren (Machine-Based)“ weiterlesen

Warum sollte ein Windows Server 2019 VDI Hybrid Azure AD joined sein

Was ist Hybrid Azure AD Join ?

Beginnen wir einfach mit der offiziellen Definition aus der Microsoft Dokumentation:

Hybrid Azure AD Join: Joined to on-premises AD and Azure AD requiring an organizational account to sign in to the device.

Dies bedeutet, dass sich das Gerät, nachdem es Hybrid Azure AD Joined wurde, genauso verhält wie jeder andere Computer, der mit Active Directory verbunden ist.

  • Man muss sich mit einem Active Directory-Konto anmelden.
  • Die Benutzeranmeldeinformationen werden mit einem Active Directory-Domänencontroller abgeglichen.
  • Gruppenrichtlinienobjekte für Benutzer & Computer, die vom Domänencontroller gelesen werden) werden automatisch angewendet.
Hybrid Azure AD Join

Nachdem der Active Directory Verbindungsprozess abgeschlossen ist, werden zusätzliche Schritte im Hintergrund asynchron durchgeführt, um das Gerät auch in Azure AD zu registrieren.

„Warum sollte ein Windows Server 2019 VDI Hybrid Azure AD joined sein“ weiterlesen