BlueScreen / Stopp, Windows 10 CSC reset

Nach dem Update auf Windows 10 Version 20H2, der Herbstversion 2020 hatte ich auf einer Reihe von Lenovo Notebooks und auf zwei Microsoft Surface Pro Tablets das Problem, dass sich im Verlauf der Anmeldung das Betriebssystem mit einem Bluescreen (BSOD, Stopp-Fehler) verabschiedete.

IMG-20201209-WA0000_ON1_Cloud

Für alle die hier nicht mehr weiterlesen wollen, könnte das Setzen des folgenden Parameters in der Registry von Windows 10 und ein damit verbundener Neustart das Problem beheben.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CSC\Parameters]
"FormatDatabase"=dword:00000001

Neustart nicht vergessen Smile

Alle Interessierten dürfen gerne den Rest des Beitrags lesen.

Fehlerbild(er)

Eine Reihe mir zugesandter Screenshots die von den Anwendern mit dem Smartphone erstellt wurden, zeigten ein diffuses Fehlerbild.

Unterschiedlich war dabei immer die Fehlerursache, dabei tauchten verschiedene Komponenten des Betriebssystems auf:

  • mrxsmb20.sys (7x), mountmgr.sys (1x) und auch der volume.sys (1x)
  • Lenovo L460, L470 und T14L
  • Surface Pro 4 und Surface Pro 7

Gleich waren auf allen Windows 10 Systemen die folgenden Parameter

  • Der BSOD tauchte immer während der Anmeldung auf
  • Windows 10 Version 20H2
  • kürzlich auf die Version 20H2 aktualisiert
  • Nach dem Update lief der Computer im Netzwerk (Firma) stabil!
  • Der Computer ist Mitglied einer Domäne, aber die Anmeldung erfolgte ohne Verbindung zum Domain Controller im HomeOffice
  • Konfiguriertes OneDrive for Business

Workarounds

Eine schnelle Lösung brachte die Verwendung eines lokalen Benutzers auf den Endgeräten. Der Computer war zwar nach wie vor Mitglied der Domäne, aber von Benutzer wurde im HomeOffice ein lokales Konto verwendet. Dieses hatte ich entweder im Vorfeld schon angelegt, konnte es über Teamviewer “nachrüsten” oder der Anwender war dazu selbst in der Lage.

Damit war ein Zugang per RDP auf den eigentlichen PC innerhalb der Firma möglich und der Druck erst einmal weg.

Darüber hinaus brachte das Zurücksetzen von Windows auf die vorherige Version bei allen Surface Geräten Abhilfe. Der BSOD war verschwunden! Ich muss aber gestehen, dass ich das auf den Lenovo Notebooks nicht in Betracht ziehen wollte.

Zusammenfassend konnte das Problem schnell mit den beiden folgenden Ansätzen gelöst werden.

  1. Verwenden eines lokalen Benutzers (den ich inzwischen generell immer anlege, zusätzlich zu einem lokalen Admin) und auch einrichte (Outlook, OneDrive, …)
  2. Rückkehr auf die vorherige Version von Windows 10

Zufrieden war ich aber mit beiden Lösungen nicht. Zum einen führen lokale Benutzerprofile dazu, dass irgendwann Daten darin verschwinden und nicht mehr auf dem Server gespeichert werden. Eine Rückkehr auf die vorherige Version von Windows kann nur temporär eine Lösung sein, das nächste Update kommt bestimmt. Also musste dafür eine ordentliche Lösung gefunden werden und kein Workaround. Durch die Workarounds konnten alle Anwender zunächst einmal arbeiten.

Die eigentliche Lösung

Durch das Auftauchen von Komponenten die mit dem Speicher (Festplatte) und Cache von Windows zu tun hatten, dachte ich zuerst an einen Defekt des Notebooks. Da der BSOD aber nach der Verwendung des lokalen Benutzer-Kontos nicht mehr auftrat, konnte ich diesen Verdacht beiseitelegen und außerdem hatte ich inzwischen das Problem auf mehreren Geräten.

Geblieben waren aber der mrxsmb20.sys und das der STOPP-Fehler der generell bei einer Anmeldung ohne Domain Controller erfolgte.

Das zeigte mir auch ein Blick in den memory.dmp (PROCESS_NAME: winlogon.exe ist der Anmelde-Prozess von Windows)image

Dazu bekommen wir gleich zu Beginn der Analyse den Hinweis, dass etwas beim Zugriff auf das Dateisystem schief gegangen ist, nämlich als eine RDR (ReDirection) stattgefunden hat.

image

Das ist der Fall, wenn ein Computer sich Offline anmeldet. Inzwischen konnte ich nachvollziehen, dass die Anmeldung direkt im Firmennetzwerk ohne Probleme funktioniert und lediglich im HomeOffice der BSOD auftritt.

Im ersten Screenshot des Debuggers ist zu sehen, dass es sich um einen ExceptionCode c0000005 handelt und der Zugriff auf den Offline Cache fehl schlägt. Der entsprechende Ordner dafür liegt im Windows Verzeichnis mit dem Namen CSC.

# Windows Client Side Cache Ordner (Offline Files)

%WINDIR%\CSC

Die Berechtigungen auf diesen sind einfach gehalten und mit SYSTEM:F überschaubar. Allerdings lassen sie sich nur im passenden Kontext überprüfen. Ich verwende dazu Psexec.exe von Sysinternals, welches mit dem Parameter –s im Systemkontext gestartet werden kann.

# Start von Psexec.exe unter Local System

C:\Temp> "\Program Files (x86)\Windows Sysinternals Tools\psexec.exe" -s cmd.exe

# Kontrolle der Berechtigungen

C:\Windows> cacls csc /t

image
Nachdem die Berechtigungen richtig angezeigt wurden, erinnerte ich mich an frühere Migrationen von Dateiservern wo im Anschluss der CSC Cache Probleme gemacht hat und zurück gesetzt werden musste. Korrekter Weise dessen Datenbank und ein Upgrade von Windows 10 auf eine höhere Version könnte hier durchaus ebenfalls zu Problemen oder Inkompatibilitäten führen.

Ein Rücksetzen des CSC ist über den folgenden Registry-Eintrag möglich. Natürlich verbunden mit einem notwendigen Neustart des Computers.

image

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CSC\Parameters]
"FormatDatabase"=dword:00000001

Damit war auch eine Anmeldung im HomeOffice möglich und damit die Lösung des Problem gefunden.

Alle nun folgenden Notebooks habe ich gleich im Anschluss nach dem Upgrade ebenfalls mit diesem Eintrag versehen und die CSC Datenbank gelöscht. Das Problem ist danach nicht mehr aufgetreten.

Enjoy it, b!

Windows 10 Upgrade schlägt fehl

Beim Upgrade von zwei Windows 10 PCs wurde ich von der folgenden Fehlermeldung überrascht.

image

Windows kann mithilfe von Setup nicht auf einem USB-Speicherstick installiert werden.

Windows war der Meinung, dass die interne Festplatte (eine SSD) ein USB-Stick wäre. Lösen lässt sich dieses Problem, indem in der Windows Registry der folgende Wert auf 0 gesetzt wird.

image

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
PortableOperatingSystem = 0

Damit konnte Windows ohne Probleme auf die gerade aktuelle Version 20H2 aktualisiert werden.

Enjoy it, b!

GPO Error "Resource $(string id="Win7Only)‘

Die Fehlermeldung lautet wie folgt und erscheint bei der Anzeige der Settings / Einstellungen einer GPO.

Error "Resource $(string id="Win7Only)' referenced in attribute displayName could not be found" when opening gpedit.msc in Windows

Im GPO-Management wird der Fehler wie folgt angezeigt.

image

Microsoft selbst, kennt den Fehler auch und liefert in diesem KB-Artikel die Lösung, bzw. einen Workaround wie man den Fehler beheben kann.

https://support.microsoft.com/en-us/help/4292332/error-when-you-open-gpedit-msc-in-windows

Der Fehler ist bei mir aufgetreten, nachdem ich eine auf Windows Server 2012 R2 laufende Domain für Windows Hello vorbereiten wollte, dazu gehört auch das Aktualisieren der ADMX-Dateien.

Da ich schon die aktuellen ADMX-Dateien eingespielt hatte, hier geht es zu den Windows 10 ADMX-Dateien für Version 2004, blieb mir nur die Möglichkeit die ADML-Datei zu editieren. Das kann man entweder mit Notepad oder mit Notepad++ machen.

Dazu habe ich die folgenden Schritte durchgeführt.

Erstellen eines Backups für die SearchOCR.adml Datei im folgenden Ordner:

C:\Windows\SYSVOL\domain\Policies\PolicyDefinitions\en-US

Das geht am einfachsten in einer Eingabeaufforderung oder in PowerShell mit xcopy, wobei beide Sitzungen mit erweiterten Adminrechten gestartet werden müssen.

C:\Windows\SYSVOL\domain\Policies\PolicyDefinitions\en-US
# Wechsel in der Verzeichnis mit den PolicyDefinitions der jeweiligen Sprache
C:\Windows\SYSVOL\domain\Policies\PolicyDefinitions\en-US
# Sichern der alten Datei mit dem Namen searchocr.adml durch xcopy
xcopy searchocr.adml \temp

Dann wird mit dem Editor eine Leerzeile in Zeile 26 eingefügt, und in diese leere Zeile der folgende String kopiert.

# Einfügen des folgenden Strings in Zeile 26"
Microsoft Windows 7 or later

Im Editor sieht das dann wie folgt aus.

image

Danach ist die Fehlermeldung verschwunden und die GPO-Einstellungen werden korrekt angezeigt.

Enjoy it, b!

Fix: Windows 10 Update and Small Business Essentials Connector

Informationen in deutscher Sprache sind unter dem folgenden Link verfügbar.

While this blog is held in german language, one article requires an addition written in english language.

For Windows 10, Microsoft provides every 6 months a major version update to add new features to it’s client operating system.

This update, if done by an ISO or with an update package from WSUS may break the Windows Server Small Business Essentials Connector by forgot to migrate the connector services registry keys.

Windows SBE services

While these five services are displayed in the services.msc they are, without corresponding registry keys, are no longer functional.

Additionally the Windows 10 client seems to offline from Windows SBE dashboard.

Windows 10 clients offline in dashboard

To get the connector back working, I’ve written a script adding the missing registry keys from a PowerShell session. The ZIP-file contains beside the PowerShell code the REG-files containing the missing keys.

To run the script, follow the steps described bellow:

  1. Download the script and extract the content to a dedicated directory
  2. Open a PowerShell session as Administrator and jump to the directory with the PowerShell-script and the REG-files. Note, script and REG-files must live in the same directory
  3. Execute the script by running the following line of PowerShell (to workaround PowerShell Execution-Policies) and don’t miss the “-“ at the end of the script.
# Workaround some obscure PowerShell Execution-policies 😉
# don't miss the "-" at the end of the line!
Get-Content -Path .\Fix-WSeLaunchpad-1903.ps1 | PowerShell.exe -NoProfile -

A successful execution looks, like the following picture shows.

Note: Don’t forget to reboot your Windows 10 client, to make the connector work again.

Enjoy it, b!

Fix: Windows 10 Update 20H2 und der Essentials Connector

Info: Bitte die Update Historie unten lesen, ursprünglich wurde das Script für Windows 10 Version 1903 entwickelt und seitdem immer wieder getestet und aktualisiert. Für alle die nicht lesen wollen, die aktuelle Version des Scripts befindet sich hier .

For the english version, please follow this Link.

Zumindest aus Sicht des Windows Server Essentials Connector ist jedes Update von Windows 10 spannend. Die seit gestern offiziell verfügbaren Version 1903 für Windows 10 versäumt es beim Upgrade, die für die Ausführung des Windows Server Essentials Connectors notwendigen Dienste (Services) zu migrieren. Die sind nach dem Update nicht mehr vorhanden.WSE-1903

Damit ist der Windows 10 Client nicht mehr in der Lage sich am Windows Server Essentials an zu melden um seinen Status zu kommunizieren oder eine Sicherung durch zu führen. Im Dashboard des Server erscheint der Client Offline.

image

Damit das wieder klappt, müssen die Services hergestellt werden. Das geht am einfachsten durch das folgende Script, welches die Services in Form von REG-Dateien in die Registry importiert. Im Anschluss, nach einem Neustart funktioniert der Connector ohne Probleme.

image

Das Script und die dazu notwendigen REG-Dateien sind in der ZIP Datei als Download verfügbar. Für eventuelle Schäden lehne ich jegliche Haftung ab.

  • Die Ausführung des Scripts muss in einer PowerShell-Session als Administrator erfolgen
  • Script und REG-Dateien müssen zwingend im gleichen Verzeichnis liegen
  • Das Script prüft ob es sich um den Version 1903 oder höher handelt. Nur dann werden die REG-Dateien in die lokale Registry des Windows 10 Clients eingetragen

Möglicher Weise können Probleme mit der PowerShell Execution-Policy auftreten, dazu wende ich den folgenden Workaround an.

Get-Content -Path .\Fix-WSeLaunchpad-1903.ps1 | PowerShell.exe -NoProfile -

image

Update 30.05.2019:
Inzwischen ist es mir gelungen, dass Microsoft dieses Problem als Bug (Fehler) betrachtet und an einem Fix arbeitet. Wie schnell damit zu rechnen ist, kann ich nicht sagen melde mich aber wenn ich weiteres weiß.

Update 15.07.2019
Das Script, und damit der Workaround funktionieren mit dem WSE 2016 und dem WSE 2012R2, dass mag im Blog nicht richtig rüber gekommen sein. Für die anderen Versionen (WSE 2011 und 2012) müsste man die Registry-Einträge des Connectors vergleichen.

Update 21.07.2019
Ich hatte nun die Gelegenheit Windows 10 Clients an einem SBE 2012 (ohne R2) um zu stellen und muss gestehen, dass das Script hier definitiv nicht funktioniert. Der Clientconnector dort verwendet wohl andere Einträge in der Registry als unter Windows Server 2012R2/2016.

Update 18.11.2019
Mit dem Update auf Windows 10 1909 gibt es keine Probleme, dass liegt an der von Microsoft geänderten Bereitstellung. Dazu werden vornehmlich nur Features freigeschaltet, die schon in früheren Versionen vorhanden waren.

Update 11.12.2019
Wird ein ISO mit Windows 10 1909 für einen Upgrade, zum Beispiel von Windows 7 auf Windows 10 verwendet. Schlägt der Bug wieder zu und das bisherige Script funktioniert leider nicht. Darum habe ich eine kleine Änderung durchgeführt und eine Version erstellt (steht nun auch in der History), die mit 1903 und neuer funktioniert.

Update 15.05.2020
Auch mit Windows 10 2004 tritt dieses Problem auf und kann über das Script behoben werden. Ich habe an diesem eine Reihe kleinerer Korrekturen durchgeführt und hier zum Download bereitgestellt.

Update 23.10.2020
Seit dem letzten Jahr, oder denken wir in Updates, seit Windows 10 Version 1909, liefert Microsoft das Herbstupdate als normales Windows Update aus, dass Features die im Verlauf der letzten Monate durch Updates (in 2004) installiert wurden aktiviert. Damit funktioniert das Update auf diesem Weg ohne Probleme und das Script ist nicht notwendig. Erfolgt aber ein Upgrade, zum Beispiel der Version 1909, durch das Windows 10 20H2 ISO, kann das Script im Anschluss den Connector reparieren.

Enjoy it, b!

Windows 10 Version 2004

Mirosoft plant die Veröffentlichung von Windows 10 Version 2004 Ende Mai (so Günther Born auf dem Heise Newsticker). Alle die es nicht mehr erwarten können und eine MSDN-Subscription besitzen, können die ISO-Dateien schon jetzt herunterladen.

image

Sobald es die ISO auf bekanntem alternativem Weg gibt, lass ich es Euch wissen.

Für den Fall, dass eine Version des Windows Server Essentials (ab 2010 R2) zum Einsatz kommt, bitte diesen Link beachten.

Update 28.05.2020
Heute wurde die Windows 10 Version 2004 offiziell freigegeben, dazu auch Windows Server 2004. Das ISO von Windows 10 findet ihr unter diesem Link.Die hier beschriebene Anleitung funktioniert immer noch und auf Heise gibt es ein paar Infos dazu.

Enjoy it, b!

Windows Terminal ist fertig

Zur Microsoft Build 2020, wurde das Windows Terminal in der Version 1.0 veröffentlicht. Der Download erfolgt über den Microsoft Store.

image

Mit nur 6,26MB erfolgt der Download recht zügig und auf den ersten Blick liefert das Windows Terminal eine Multi-Tab (mehrere Registerkarten) fähige PowerShell-Konsole.

image

Die Einstellungen basieren auf einer JSON-Konfigurationsdatei (settings.json), die sich zum Beispiel mit Visual Studio Code anpassen lässt.

image

Auch besteht nun die Möglichkeit eines schnellen Wechselns zwischen der Eingabeaufforderung, PowerShell und der Azure Cloud Shell. Die neuen Features im Überblick sind wie folgt.

  • Mehrere Registerkarten
  • Vollständige Unicode-Unterstützung
  • GPU-beschleunigtes Textrendering
  • Vielfältige Anpassungen
  • Geteilte Arbeitsbereiche

Weitere Informationen liefert Microsoft direkt auf seiner Webseite und natürlich auf GitHub.

Enjoy it, b!

ASUS UX301L und Windows 10 1903

Nach einer Neuinstallation eines ASUS UX301L “Phantom-Notebook” hatte ich ein unbekanntes Gerät im Geräte-Manager.

  • PCI-Datensammlungs- und Signalverarbeitungscontroller

image

Leider war dafür in Windows Update kein passender Treiber zu finden. Mein erster Versuch mit der ASUS-Support Webseite ging gleich ins Leere, denn ASUS will anscheinend dieses Notebook niemals gebaut haben Winking smile Dort findet sich ein ASUS Zenbook UX301LA, aber kein UX301L und damit auch keine Treiber. Auch passen die von ASUS gelisteten Spezifikation nicht 100% zu dem UX301L, was zum Beispiel zwei M.2 Slots mit 60mm Baulänge aufweist.

Erfolgreich war ich letztendlich mit der Suche nach der Hardware-ID, denn anscheinend sind nicht nur ASUS-Benutzer auf der Suche nach diesem Treiber sondern auch Besitzer von Dell, HP und Lenovo Notebooks.

Letztendlich habe ich mir von ASUS einen Treiber unter diesem Link geladen, er ist zwar für ein anderes Modell sollte aber nach Analyse der INF-Datei auch hier funktionieren. Im Englischen wird der Treiber wie folgt genannt:

  • Intel® Dynamic Platform and Thermal Framework Driver

image

Da es sich um eine ZIP-Datei handelte, habe ich diese entpackt und nach dem Treiber selbst gesucht, um eine Installation über irgendein Setup-Programm zu vermeiden.

Zur Installation habe ich direkt auf das Treiber-Verzeichnis verwiesen.image

Womit die Installation ohne Probleme funktioniert hat.

image

Bis zum nächsten Mal.

Enjoy it, b!

BIOS bei einem Windows 10 Computer

Schon seit einiger Zeit unterstützen die Microsoft Betriebssysteme UEFI Boot. Ist diese Option im BIOS eingestellt und damit der Windows Bootmanager aktiv, so funktionieren oftmals die klassischen Tastaturkombinationen wie ENTF, F2 oder auch die ESC-Taste nicht mehr. In diesem Fall kann ein Start des Rechners mit dem BIOS wie folgt realisiert werden.

Windows Settings / Update & Security / Recovery / Advanced startup / Restart now

image

Analog dazu auf Windows Systemen in deutscher Sprache:

Windows Einstellungen / Update und Sicherheit / Wiederherstellung / Erweiterter Start

image

Wer sich noch am Anmelde-Bildschirm befindet, kann dazu diesen Start über die SHIFT-Taste (Umschalt) und die Option Neustarten aktivieren.

Enjoy it, b!

Windows und der Secure-Channel

Einer meiner Windows 10 PC hatte das Problem, dass ich auf eine Reihe von Ordnern im Netzwerk nicht zugreifen konnte. Hauptsächlich waren es umgeleitet Ordner aus dem Benutzerprofil. Ich leite gerne die Eigenen Dateien / Documents auf den Server um.

Das Problem war, dass der Secure-Channel zum Server nicht mehr sauber funktionierte. Wie so oft lag die Lösung in PowerShell vergraben, und das sage ich weil man einfach wissen muss das es mit diesem Befehl so einfach geht.

Test-ComputerSecureChannel liefert True oder False zurück, je nachdem wie der Zustand der Verbindung zwischen dem PC und der Domain (Domain-Controller) ist.

Im Fall von False, lohnt sich die Verwendung des Parameters –Verbose um genauere Informationen zu erhalten.

Test-ComputerSecureChannel -Verbose
VERBOSE: Performing the operation "Test-ComputerSecureChannel" on target "ws1"
False
VERBOSE: The secure channel between the local computer and the domain sbsland.local is broken.

Eine Reparatur erfolgt dann unter der Verwendung eines Domänen-Administrators.

Test-ComputerSecureChannel -Repair -Credential (Get-Credential)

Darüber hinaus lässt sich über den Parameter –Server auch die Verbindung zu weiteren PCs oder Servern in der Domäne prüfen.

Test-ComputerSecureChannel -Server sbs.sbsland.local -Verbose
VERBOSE: Performing the operation "Test-ComputerSecureChannel" on target "ws1"
False
VERBOSE: The secure channel between the local computer and the domain sbsland.local is in good condition.

image

Enjoy it, b!