Startmenü funktioniert nicht (reagiert nicht) auf Windows Server RDS

/de/images/word-image-4.png

Gelegentlich melden Benutzer Probleme mit dem Startmenü oder der Taskleiste auf RDS-Hosts, auf denen Windows Server 2022 oder 2019 ausgeführt wird. Wenn ein Benutzer in einer Terminalsitzung auf die Schaltfläche „Start“ klickt, wird das Menü entweder nicht geöffnet oder die RDP-Sitzung friert ein und reagiert nicht mehr.

Die Startmenü-Oberfläche und Benutzerinteraktionen werden von zwei Prozessen verwaltet: „Explorer.exe“ und „StartMenuExperienceHost.exe“. Ein Neustart über den Task-Manager kann ein einmaliges Problem möglicherweise schnell beheben.

/de/images/word-image-1.png.webp

Das Problem, dass die Schaltfläche „Startmenü“ auf Hosts in einer RDS-Farm nicht funktioniert, tritt häufiger auf. Dies geht normalerweise mit mehreren DCOM-Serverfehlern mit der Ereignis-ID 10001 in der Ereignisanzeige -> Systemprotokoll einher, die auf Microsoft Store-Apps verweisen.

/de/images/word-image-2.png.webp

Eine mögliche Lösung für das Problem, dass das Startmenü in der Benutzersitzung nicht funktioniert, besteht darin, das problematische Microsoft Store-App-Paket erneut zu registrieren. Da die Schaltfläche „Start“ nicht funktioniert, öffnen Sie die PowerShell-Konsole mit der Tastenkombination „Win+X“. Führen Sie den Befehl aus:

Add-AppxPackage-Register "C:\Windows\SystemApps\ShellExperienceHost\_cw5n1h2txyewy\AppxManifest.xml"-DisableDevelopmentMode

Oder registrieren Sie alle Microsoft Store-Apps auf einmal neu:

Get-AppXPackage | Foreach {Add-AppxPackage-DisableDevelopmentMode-Register "$($\_.InstallLocation)\AppXManifest.xml"}

/de/images/word-image-3.png.webp

Wenn das Problem dadurch nicht oder nur vorübergehend behoben wird, überprüfen Sie den Inhalt der folgenden Registrierungsschlüssel:

  • HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\RestrictedServices\AppIso\FirewallRules

  • HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules

In meinem Fall stellte ich fest, dass jedes Mal, wenn sich ein Benutzer an- und abmeldete, Tausende von Windows Defender-Firewallregeln für Microsoft Store-Apps (APPX/MSIX) erstellt wurden und diese Regeln nicht automatisch gelöscht wurden.

/de/images/word-image-4.png.webp

Jedes Mal, wenn ein Benutzer eine Microsoft Store-App startet, werden automatisch neue Windows Defender-Firewallregeln hinzugefügt, die alten Regeln werden jedoch nicht gelöscht. Eine große Anzahl von Firewallregeln kann dazu führen, dass der StartMenuExperienceHost-Prozess einfriert. Dieser Prozess ist für die Anzeige des Startmenüs in der Benutzersitzung verantwortlich. Um die Funktionalität des Startmenüs auf dem Windows Server-Host wiederherzustellen, löschen Sie diese Windows Defender-Firewallregeln.

Eine große Anzahl doppelter Regeln in der Windows-Firewall kann die Leistung von RDS- und RemoteApp-Sitzungen auf Windows Server erheblich beeinträchtigen.

Sichern wir zunächst den Registrierungsschlüssel, der die Firewall-Regeln enthält. Dadurch können wir bei Problemen darauf zurückgreifen.

reg export „HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy“C:\Backup\_Firewall\_Policy\_rules.reg

/de/images/word-image-5.png.webp

AppIso-Registrierungsschlüssel, weil der

PowerShell-Cmdlets können nicht zum Verwalten von Firewallregeln im Registrierungsschlüssel verwendet werden, da sie vom Befehl „Get-NetFirewallRule“ nicht angezeigt werden. Daher müssen Sie sie direkt aus der Registrierung löschen.

Führen Sie die folgenden Befehle aus, um die Firewallregeln für MS Store-Apps in der Registrierung zu bereinigen:

reg delete HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\RestrictedServices\Configurable\System/va/f

reg delete HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\RestrictedServices\AppIso\FirewallRules/va/f

Dadurch werden die benutzerdefinierten Firewallregeln gelöscht.

/de/images/word-image-6.png.webp

HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules. Möglicherweise gibt es auch eine große Anzahl doppelter Firewallregeln im Zusammenhang mit Microsoft Store-Apps. Löschen Sie nicht alle Elemente aus diesem Registrierungsschlüssel, da dadurch alle Windows-Firewallregeln, einschließlich der Standardregeln, entfernt werden. Andernfalls verlieren Sie möglicherweise den Fernzugriff auf den Windows-Host, einschließlich des Zugriffs auf dessen Remotedesktop.

Überprüfen Sie außerdem die Anzahl der Regeln unter dem Registrierungsschlüssel. Möglicherweise gibt es auch eine große Anzahl doppelter Firewallregeln im Zusammenhang mit Microsoft Store-Apps. Löschen Sie nicht alle Elemente aus diesem Registrierungsschlüssel, da dadurch alle Windows-Firewallregeln, einschließlich der Standardregeln, entfernt werden. Andernfalls verlieren Sie möglicherweise den Fernzugriff auf den Windows-Host, einschließlich des Zugriffs auf dessen Remotedesktop.

Erstellen Sie daher vor dem Löschen dieser Regeln ein Gruppenrichtlinienobjekt mit den erforderlichen Windows-Firewallregeln und wenden Sie es auf den Host an, um einen Zugriffsverlust zu vermeiden

Verwenden Sie den folgenden Befehl, um die Standardeinstellungen und -regeln der Windows-Firewall wiederherzustellen:

(New-Object-ComObject HNetCfg.FwPolicy2).RestoreLocalFirewallDefaults()

Damit Windows die von Microsoft Store-Apps in jeder Benutzersitzung erstellten Firewallregeln automatisch löscht, erstellen Sie den Registrierungsparameter „DeleteUserAppContainersOnLogoff“ auf dem RDS-Server und legen Sie seinen Wert auf 1 fest. Um mit PowerShell ein Registrierungselement zu erstellen, führen Sie Folgendes aus:

New-ItemProperty-Path "HKLM:\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy"-Type DWord-Name DeleteUserAppContainersOnLogoff-Value 1

Wenn nun die Sitzung eines Benutzers endet, werden die für diesen Benutzer erstellten Firewallregeln der App automatisch gelöscht.

Es bleibt nur noch die erneute Registrierung der APPX-Pakete auf einem Server:

Get-AppXPackage-AllUsers | Foreach {Add-AppxPackage-DisableDevelopmentMode-Register „$($\_.InstallLocation)\AppXManifest.xml“}

*️⃣ Quelllink:

Microsoft Store-Apps (APPX/MSIX), , die Leistung von RDS- und RemoteApp-Sitzungen erheblich verschlechtern, den Registrierungsschlüssel sichern, , Get-NetFirewallRule, ein Gruppenrichtlinienobjekt mit den erforderlichen Windows-Firewallregeln erstellen, ein Registrierungselement mit PowerShell erstellen,