The file name is too long – Löschen langer Pfade mit der Windows API

Lange Dateinamen und Pfade sind unter Windows eigentlich kein Thema mehr. Dennoch tauchen sie wie ein schlechter Traum, immer wieder auf und stellen einen vor das Problem, wie kann ich diesen langen Dateinamen oder Pfad nun löschen?

:: der normale Ansatz mit rd und dem Verzeichnis
E:\Shares\Projekte-2018> rd 20-old /s /q

Lieferte wie zu erwarten das folgende Ergebnis, mit einer Menge von nicht gelöschten Verzeichnissen und Dateien.

image

The file name is too long.

In diesem Beitrag aus dem Jahr 2011 hatte ich schon mal ein Skript mit Robocopy vorgestellt, welches das Problem bei mir zumindest, immer lösen konnte. Allerdings gab es auch einen Kommentar, der die Funktion des Skriptes nicht bestätigen konnte, zumindest nicht für sein Problem mit NetBeans. Eine genaue Validierung des Problems blieb aber aus.

Nun, knapp 12 Jahre danach habe ich mir, aufgrund einer aktuellen Aufgabenstellung darüber wieder Gedanken gemacht und dazu die Windows API verwendet.

:: der Ansatz mit rd über die Windows API
rd \\?\e:\Shares\Projekte-2018\20-old /s /q

Was wiederum nicht funktioniert hat, und mit dem gleichen Ergebnis “The file name is too long.” endete.

Nun besteht seit Windows 10 Version 1607 (und damit auch für den Windows Server 2016) die Möglichkeit “Enable Long Paths” in der Registry oder per GPO zu aktivieren.

image

Maximum Path Length Limitation – Win32 apps | Microsoft Learn

Die Einstellung hatte ich per GPO und einem entsprechendem gpupdate schon auf den Servern bereitgestellt.

Den Artikel sollte man sorgfältig lesen, denn dort werden Dateiverwaltungsfunktionen aufgelistet, welche nach dem Setzen des Registrierungsschlüssel NICHT mehr der MAX_PATH-Einschränkung unterliegen. Was mich wiederum auf die Idee gebracht hat die Sache mit PowerShell und .Net (Directory Class) zu versuchen.

# PowerShell mit .Net Directory Class
[System.IO.Directory]::Delete("E:\Shares\Projekte-2018\20-old", $true)

Damit der Aufruf funktioniert, muss man zwei Dinge beachten.

  1. Der Verzeichnisname muss vollständig übergeben werden, also nicht 20-old sondern E:\Shares\Projekte-2018\20-old
  2. Die Verzeichnisse sind nicht leer und darum benötigen wir noch ein $true um diese ohne Nachfrage zu löschen

Und den dritten Punkt hätte ich beinahe vergessen, Geduld! Das Löschen von ~500GB hat mehrere Stunden gedauert und kam mit der folgenden Meldung zu einem Ende.image

Es war am Ende eine Datei, die das vollständige Löschen verhindert hat. Auf dieser waren, aus welchem Grund auch immer, die ACL verbogen. Also nochmals icacls, wie in diesem Beitrag beschrieben drüber laufen lassen und der erneute Aufruf von [System.IO …] konnte alle restlichen Artefakte entfernen.

So, eigentlich wollte ich nur ein Verzeichnis löschen …

Enjoy it, b!

Outlook Web Access (Senden von / als …)

Inzwischen verwende ich überwiegend Outlook Web Access (OWA), da damit über den Webbrowser und entsprechend konfigurierten Profilen, mehrere Postfächer parallel verwendet werden können.

Dabei bin ich über die Frage gestolpert, wie ich denn eine andere Sende-Adresse verwenden kann, als die primäre des Postfachs. Das kommt zum Beispiel in den folgenden Konstellationen vor:

  • Der Benutzer in Microsoft 365 (ehem. Office 365) hat das Recht über ein Freigegebenes Postfach zu senden
  • Man ist Mitglied einer Verteilergruppe und will in deren Namen (die entsprechenden Berechtigungen vorausgesetzt) senden. Zum Beispiel als support@deine-organisation.tld

Damit das in OWA funktioniert, sind die folgenden Schritte notwendig.

In der neu zu verfassenden Mail oder in der Mail auf die geantwortet werden soll, muss in der unteren Menüleiste (ganz rechts neben Senden) auf die (drei Punkte) geklickt und die Option Absender anzeigen aktiviert werden.

image

Damit erscheint oberhalb des Felds für den Empfänger (An) auch das Feld des Absenders (Von) das wiederum die weiteren Mail-Adressen anzeigt oder die Eingabe von alternativen Adressen erlaubt.

image

Soll eine Adresse zum ersten mal verwendet werden, dann muss diese einmalig in das Absender-Feld eingetragen werden. Im Anschluss wird diese zur Auswahl angeboten.

Enjoy it, b!

SBE: Howto fix Client Computer Backup

Die Annahme, dass das Laufwerk mit den Client Computer Backups auf dem SBE (Windows Server 2012R2 oder 2016 mit der Small Business Essentials Role) nicht wichtig ist, hat sich in meinem letzten Support-Fall als nicht korrekt herausgestellt.

Die Geschichte hat natürlich einen Anfang. Wird eine hinreichend große Anzahl von Clients (PCs im SBE Netzwerk) gesichert, kann das Laufwerk das den Sicherungsordner Client Computer Backup bereitstellt schon mal auf 1TB anwachsen. Der Kunde (oder dessen Administrator) dachte nun, dass er sich einiges an Platz sparen kann wenn er das Laufwerk nicht sichert und auch nicht in die Hyper-V Replikation mit aufnimmt. Durch einen Defekt der Server-Hardware musste auf einen anderen Hyper-V Host umgeschaltet werden und der SBE “erwachte” aus der Replika ohne sein Client Computer Backups, beziehungsweise ohne das passende Laufwerk.

Gleiches kann natürlich auch passieren, wenn das Laufwerk versehentlich gelöscht wird, oder auf einem anderen Wege kaputt geht.

Die Ausgangssituation

Vollständiger Verlust der Client Computer Backups mit samt des bereitstellenden Laufwerks. Damit werden die Client Computer nicht mehr gesichert und der SBE zeigt eine Reihe von Fehlermeldungen im Dashboard und auch in der Ereignisanzeige.

image

Nun stellt sich die Frage, wie diese Funktionalität wieder hergestellt werden kann und ob sich das überhaupt reparieren lässt?

Die Wiederherstellung der Client Computer Backup Funktionalität

Damit das nochmals klar wird, es geht hier nicht darum die Backups selbst wiederherzustellen, sondern die Funktionalität des SBE.

In einem ersten Schritt wird dem SBE wieder ein passendes Laufwerk bereitgestellt. Das geschieht in virtuellen Umgebungen durch Anhängen einer neuen VHD oder auf einem physikalischen Server durch Einbau einer neuen Platte.

Das neue Laufwerk erscheint unter dem Laufwerksbuchstaben I: und wird mit NTFS formatiert. Nun dachte ich, dass es ausreichen würde die Funktion Repair backups zu verwenden und der Rest passiert dazu im Hintergrund, dass war aber eine falsche Annahme. Es ist nämlich so, dass die Client Computer durch die Installation des Client Connector in die Datenbank des Client Computer Backups eingetragen werden. Die existiert aber nicht mehr und muss darum neu angelegt werden und danach noch die Client Computer zugeordnet werden.

image

Ein Repair now … meldet zwar Erfolg, aber funktionieren tut hinterher das Client Computer Backup nicht.

Eine erfolgreiche Reparatur erfolgt mit den folgenden Schritten:

Bereitstellen eines hinreichend großen Laufwerks, das einen Bezeichner besitzt und mit NTFS formatiert ist.

# Stopping Windows Server Essentials Computer Backup
Stop-Service -Name WseComputerBackupSvc -Force
# Create missing directories
New-Item -Type Directory -Path 'I:\ServerFolders\Client Computer Backups\'
# Starting Windows Server Essentials Computer Backup
Start-Service -Name WseComputerBackupSvc

image

Eigentlich legt der Windows Server Essentials Computer Backup Service beim Start, falls noch nicht vorhanden, seine Datenbank an. Ich habe aber schon gesehen, dass das nicht passiert ist. Darum lohnt sich nochmals das Ausführen einer Reparatur.

image

Nun sollten die drei folgenden Dateien im Verzeichnis vorhanden sein.

image

  • Commit.dat
  • ConsistencyInfo.cc
  • DatabaseInfo.dat

Seitens des Servers ist nun alles eingerichtet, nun müssen wir noch die Clients zurückbringen.

Update 15.03.2023:
Die Integration oder Wiederaufnahme der Clients in das Backup, ist ohne eine Re-Installation des Client Connector möglich.

Wie im Folgenden zu sehen ist, zeigt das Dashboard die Windows Clients im Zustand Unknown.

image

Nun muss das Launchpad des Client Connector auf dem Windows Computer gestartet und die Option Backup ausgewählt werden.

image

Der Backup status am Client erscheint dann wie folgt, aber es wurde ein Verbindung zum SBE hergestellt was zu einer Änderung des Status führt.

image

Das Herstellen der Verbindung über das Launchpad ist ein einfacher Reconnect, der den Backup status von Unknown auf Not set up ändert und im Anschluss die Konfiguration des Backups vom SBE aus ermöglicht.

image

Ab jetzt läuft das Backup wieder, kein Reboot und vor allem auch keine Neuinstallation (des Connectors) waren dafür notwendig.

Ursprünglicher Beitrag:
Das habe ich bisher nur über eine De-Installation und Neu-Installation des Client Connectors hinbekommen. Zwischen den beiden Schritten, ist kein Neustart notwendig. Einfach den Connector deinstallieren und im Anschluss sofort wieder installieren und fertig.

image

Danach läuft das Backup wieder ohne Probleme.

image

Die drei oben genannten Dateien würde ich darum auch in die Datensicherung des SBE aufnehmen.

Enjoy it, b!

Unblock-File | Blockierung von Downloads unter Windws

Ein Download aus dem Internet, bekommt unter Windows häufig ein “Blocking”. Das ist auch gut so, schützt es doch vor einer versehentlichen Ausführung unbekannten Codes.

Das Blocking lässt sich mit dem Haken (Unblock) in den Eigenschaften der Datei entfernen.

image

Alternativ kann man hier auch PowerShell verwenden, entweder weil man ohnehin lieber in der PowerShell unterwegs oder weil ein Bedarf für etwaige Automatisierungen / Skripte besteht.

# Unblock der Datei mit PowerShell 
Unblock-File -Path .\wsefix-1903v5.zip

Sollen gleich mehrere Dateien mit der gleichen Endung bearbeitet werden, ist die Verwendung von Get-ChildItem sinnvoll

# Unblock mehrerer Dateien mit PowerShell 
Get-ChildItem -Path *.zip | Unblock-File -Verbose

Enjoy it, b!

Windows Remotehilfe | STRG+WIN+Q

Die in Windows enthaltene Remotehilfe (Quick Assist), scheint eines der am wenigsten bekannten Tools unter Windows zu sein. Schon in das Betriebssystem integriert, bietet sie für Windows 10 (seit Version 1607) und 11 eine einfache Möglichkeit, einem anderen Windows Benutzer zu helfen.

Start und Verwendung der Remotehilfe

Starten lässt sich die Remotehilfe mit der Tastenkombination STRG+WIN+Q oder durch Eingabe von Remotehilfe (oder einfach nur remote) im Startmenü.

image

Um die Remotehilfe zu verwenden, muss der Benutzer der die Unterstützung gewähren soll ein Microsoft-Konto besitzen, was wiederum bei den meisten Windows Benutzern der Fall sein dürfte.

image

Lässt sich die Remotehilfe auf dem Windows PC nicht finden, dann kann sie über den Microsoft Store installiert oder aktualisiert werden (was eigentlich automatisch geschehen sollte). Den entsprechenden Artikel dazu liefert Microsoft auf seiner Support-Seite.

Nach dem sich der “Assistent”, der Benutzer der die Unterstützung leisten soll an mit seinem Microsoft-Konto an der Remotehilfe angemeldet hat, erstellt diese einen Code.

image

Der erstellte Code muss nun an den Hilfesuchenden übermittelt werden. Das kann mündlich per Telefon oder aber durch ein Kopieren des Codes über die Zwischenablage per Mail oder einen installierten Messenger erfolgen. Auf jedem Fall, muss der Code innerhalb von 10min bei der Gegenstelle landen. Danach erfolgt die Generierung eines neuen Codes.

Neben der Möglichkeit die Kontrolle über den Bildschirm zu erlangen besteht auch die Option nur zu schauen und Abläufe auf dem Bildschirm zu verfolgen. Der Assistent fordert eine der beiden Optionen an, dieser muss vom hilfesuchendem Benutzer zugestimmt (zulassen) werden.

image

Funktionen

Nach dem Aufbau der Verbindung können die folgenden Optionen genutzt werden. Zusätzlich wird auf der Linken seite darauf hingewiesen, ob der Benutzer administrative Rechte besitzt.

image

  • Auswahl des Monitors bei mehreren Monitoren
  • Ein Stift (Pen) um Anmerkungen durchzuführen
  • Skalierung der Sitzung auf die beim Benutzer eingestellte Größe
  • Chat zum Austausch von Text
  • Neustart des Computers
  • Start des Taskmanager
  • Pausieren und Beenden der Sitzung

Eine Sitzung mit der Remotehilfe, könnte dann wie folgt aussehen.

image

Was mit der Remotehilfe nicht geht

Natürlich liegt der Funktionsumfang der Remotehilfe hinter Tools wie Teamviewer zurück. Für die Übertragung von Dateien verwende ich OneDrive oder Mail, eine zentrale Verwaltung ist auch nicht vorhanden und eine unbeaufsichtigter Zugriff ebenfalls nicht möglich.

Es muss ja auch Gründe geben, wieso man für einen vermeindlich besseren Service/Anwendung, Geld bezahlen soll. Was mich zum Ende dieses Artikels bringt.

Mein Fazit, Teamviewer und Co

Teamviewer und diverse Mitbewerber können vieles besser als die Remotehilfe, aber diese kostet nichts und ist im Betriebssystem vorhanden. Für einen Einzelbenutzer kostet Teamviewer aktuell 32,90€ im Monat, was nicht günstig ist, wenn man nur gelegentlich kommerziellen Support leisten will. Dazu kommt ein fetter Teamviewer-Client der erst einmal geladen werden muss.

Wer das aber alles nicht benötigt und nur in der Windows-Welt unterwegs ist, der ist mit der Remotehilfe gut bedient.

Enjoy it, b!

Surface Laptop 3 AMD Ryzen BSOD

Original ist  besser

Nach dem letzten Update ging mein Surface Laptop 3 (der den es noch mit dem AMD Ryzen 7 und 32GB RAM gab) in einem BSOD (Bluescreen, Stop-Fehler)

SYNTHETIC_WATCHDOG_TIMEOUT (1ca)

Auf den ich mir so richtig keinen Reim machen konnte.

AMD-Ryzen-7-CPUID

Windows hatte einen Mini-Dump geschrieben und so konnte ich mich auf die Suche nach dem Problem machen. Eine Blick in den Debugger offerierte den amdppm.sys als Verursacher, die Version des Treibers war aber mit 10.0.22621.1180 aktuell.

image

Windows Update lieferte hier keine neuere Version und auch die Surface App meldete, dass alles im grünen Bereich ist.

Eine Suche im Internet lieferte (wie fast immer) eine Reihe obskurer Ideen, wie zum Beispiel die Deaktivierung des Treibers in der Registry (Startwert 3 auf 4 setzen), was zur folge hatte das ich 8 unbekannte CPUs im Geräte-Manager sah und das Laptop postum nach einem weiteren BSOD neu startete.

Für eine gute Idee, hielt ich die Aktualisierung des AMD-Chipsatzes, gab es doch zu Beginn mit Windows 11 einige Probleme, auch mit der Performance des Surface Devices.

Auch danach war keine Besserung festzustellen. Interessant war, dass wenn ich nichts tat, das Laptop lief.

Da ich mein neues Arbeitsgerät einrichten wollte, stellte ich das Surface Laptop auf einem Stuhl neben mich und versorgte es durch ein anderes Ladegerät mit Strom. Die ersten beiden Stunden haben ich nicht drauf geachtet, aber die Neustarts durch einen BSOD waren verschwunden obwohl eine Reihe von Anwendungen nebenher auf dem Teil arbeiteten, die Frage war nur wieso? Auch eine Reihe von Last-Tests konnten das Laptop nicht in die Knie zwingen. Am nächsten Morgen begrüßte mich das Surface Laptop 3 und lief, wie wenn nie etwas gewesen wäre.

Beim Aufräumen des Schreibtisches sah ich auf einmal, dass ich das Laptop ursprünglich an ein NoName-Ladegerät angeschlossen hatte. Dieses zeigte zwar ebenfalls 65W und lieferte diese kurioser Weise auch, führte aber in Verbindung mit dem Surface Laptop 3 zu den BSOD. Mit dem original Microsoft Surface 65W Ladegerät, traten die Probleme nicht auf.

So genau wusste ich nicht einmal, woher dieses NoName-Ladegerät kam, letztendlich war es aber der Grund für die Probleme.

Am originalen Microsoft Ladegerät und auch per USB-C läuft das Surface Laptop 3 ohne Probleme.

Enjoy it, b!

Leaving Twitter, 01/2023

Hallo und ein gutes Neues Jahr 2023

Ich finde, dass es von Zeit zu Zeit sinnvoll ist sich Gedanken über seine Social Media Aktivitäten zu machen. Kommt man zum Entschluss, dass Twitter nicht mehr notwendig ist, kann man seinen Account auch löschen.

Der Prozess zum Löschen des Accounts hat bei Twitter zwei Stufen.

  1. Deaktivieren des Accounts
  2. Automatisches Löschen des Accounts, nachdem er 30 Tage nicht mehr akrtiviert wurde

Davor ist es aber sinnvoll, Verbindungen zu diesem Account wie zum Beispiel in WordPress zu deaktivieren.

Entfernen von Twitter aus meinem WordPress-Account

WordPress liefert zu diesem Thema die folgende Hilfestellung, die zwar beschreibt wie man Twitter einbindet, damit aber auch die Reversion des Prozesses erklärt.

In den WordPress-Einstellungen über Tools / Marketing / Connections / Disconnect

image

Ein Klick und die Verbindung (Connection) ist gelöst.

image

Damit werden alle Beiträge auf diesem Blog ab Januar nicht mehr per Twitter geteilt.

Löschen / Deaktivieren des Twitter Accounts

Klick auf das “more” Icon ( ooo ) links in Twitter / Settings and Support / Settings and privacy

image

Zur Deaktivierung wird nochmals explizit das Passwort benötigt und muss eingetragen werden.

image

Damit ist Twitter erst einmal Geschichte.

Enjoy it, b!

Synology DSM | Selfhost DDNS

Das Synology DSM bietet die Möglichkeit einen DDNS Service Provider (DynDns) zu konfigurieren um damit die DNS-Auflösung des NAS im Internet zu ermöglichen. Oft wird ein DynDns gerne dem Router konfiguriert, es kann aber sinnvoll sein das alternativ auf einem Synology NAS zu tun. Zum Beispiel, wenn der Router eine entsprechende Konfiguration nicht erlaubt oder den eigenen DDNS Service Provider nicht anbietet.

Ich habe schon seit Ewigkeiten meinen DDNS / DynDns bei selfhost.de in Döbeln. Den Service kann man in einem Satz beschreiben. Er ist schnell, zuverlässig und stabil – die Hotline freundlich und sehr hilfsbereit, vor allem wenn man ein Problem nicht zu 100% verorten kann, wirklich super!

Damit man seine eigene DDNS-Domain von selfhost.de im Synology NAS eintragen kann, wird der DynDns-Account ganz normal bei Selfhost konfiguriert. Allerdings muss eine Option zusätzlich gesetzt werden. Die Authentifizierung läuft per HTTP (Basic Authentification) und nicht per GET, was der Standard bei selfhost.de ist (grüne Box im Screenshot).

image

Auf dem Synology NAS erfolgt der Eintrag im Control Panel / External Access / DDNS.

image

Die Konfiguration selbst ist einfach und selbsterklärend.

image

Hier noch das Mapping zwischen Synology und Selfhost.de in tabellarischer Form:

Synology Selfhost Wert/Beispiel
Hostname Hostname <i2fb02.ddns-domain.tld>
Username/Email Benutzername <Benutzername>
Password/Key Password <Das Passwort halt>

Läuft, wie man so sagt.

Enjoy it, b!

We lost remotewebaccess.com again …

Seit dem letztem Samstag (12.11.2022) häufen sich die Berichte, dass ein Zugriff auf https://<hostname>.remotewebaccess.com nicht mehr möglich ist.

Update 19.11.2022.
Seit dem 19.11. ist der Service wieder funktional. Damit hatten wir eine Woche Ausfall, wie man sowas bewerten muss bleibt jedem selber überlassen. Die Konfiguration eines DynDns-Service mit eigenem Zertifikat würde das Problem lösen, bis der SBE außer Dienst geht.

Das Problem hatten wir schon einmal und zwar im Mai in diesem Jahr, damals wurde es nach knapp 14 Tagen !!! behoben.

image

Im Vergleich zur Situation im Mai, habe ich zum Glück nicht mehr den hohen Druck das Problem analysieren zu müssen. Inzwischen sind nur noch zwei meiner vielen (ehemals 11) Windows SBE Server aktiv und einer davon läuft mit eigenem Zertifikat und Domain, beim anderen ist der Zugriff über remotewebaccess.com zwar konfiguriert, wird aber nicht genutzt.

Ich schau trotzdem ob ich hier nochmals hilfreiche Informationen zusammentragen kann. Für Erkenntnisse aus dem Feld bin ich jederzeit dankbar, schreibt es einfach unten in die Kommentare rein.

Enjoy it, b!

(enjoy = auch wenn einem manchmal nicht danach ist)

Windows 11 2022 Enterprise Edition | Zugriffsprobleme auf das NAS

Info: Ganz unten, im Update vom 02.11.2022 ist die Lösung für das Problem beschrieben. Wen die Hintergründe des Problems nicht interessieren, einfach gleich nach unten scrollen.

Der ursprüngliche Blogbeitrag

Nach dem Update auf Windows 11 22H2 konnte ich mich nicht mehr auf meine NAS-Laufwerke (Synology) verbinden. Zum Beispiel lieferte die Anzeige des Temp-Verzeichnisses mit dem DIR-Befehl die Meldung zurück, dass der Benutzername nicht korrekt ist und das war auch bei der Anzeige des Home-Verzeichnisses der Fall.

C:\Temp> dir \\nasbp.home.local\temp
Der Benutzername oder das Kennwort ist falsch.

Obwohl die Credentials mit cmdkey im System gespeichert sind, habe ich es nochmals mit dem Parameter /u:home\bernd probiert und abermals den Hinweis bekommen, dass mein Passwort nicht korrekt wäre.

image

Zuerst hatte ich das Windows 11 22H2 Update generell verdächtigt, aber auf allen Systemen bis auf zwei funktionierte der Zugriff nach wie vor.

Um das hier vorne weg zu nehmen, funktioniert hat der Zugriff von der Professional Edition aus und lediglich Clients mit der Windows 11 22H2 Enterprise Edition hatten Zugriffsprobleme.

Die Umgebung

Die Daten liegen auf einem Synology NAS (DSM 7.1x). Ich verwende aber nicht die Benutzer-Verwaltung von Synology, sondern den Synology Directory Server (was nix anderes als Samba ist) um den Zugriff auf die Laufwerke (Shares / Freigaben) auf dem NAS zu regeln. Die Anmeldung erfolgt damit gegen eine Samba-Domain, die über den Synology Directory Server bereitgestellt wird. Neben einigen Windows Systemen die in der Domain Mitglied sind, gibt es eine Reihe von Geräten die ihre Heimat woanders haben und lediglich über Benutzer / Passwort (was wiederum im Synology Directory Server liegt und per cmdkey auf dem Gerät gespeichert ist) auf das NAS zugreifen.

Das Problem und ein erster Workaround

Die Symptome zeigen sich auf zwei Wegen.

  1. Die Ansicht vom Verzeichnissen per Dir und dem FQDN / UNC-Pfad funktioniert nicht mehr (siehe Bild oben), egal ob das in der Eingabeaufforderung (cmd), PowerShell oder im Windows Explorer probiert wird
  2. Ein net use wie zum Beispiel net use t: \\nasbp.home.local\temp schlägt mit einem Fehler 86 fehl

Was aber immer geht, ist die Verwendung der IP des NAS und nicht des FQDN, also \\92.168.178.11\temp und damit habe ich hier auch gleich den Workaround beschrieben. Natürlich ist der Workaround nicht schön, aber erst einmal besser als nichts.

Die Ursache – The good case –

Um der Sache in Stück weit auf den Grund zu gehen, habe ich mich entschlossen einen Trace im Netzwerk zu ziehen. Wireshark und netsh sind hier die Mittel der Wahl. Bevor man sich dem eigentlichen Problem zuwendet, ist es sinnvoll mit einem Trace einen funktionierenden Zugriff mitzuschneiden.

image

Der Trace zeigt alle Schritte die erfolgen müssen um erfolgreich den Inhalt von \\nasbp.home.local\temp mit dem Benutzer home\bernd angezeigt zu bekommen.

Wichtig hier ist das Paket 479, in dem die Anforderung für home\bernd an den Server gesendet wird und die Bestätigung über Paket 481.

image

Zu sehen ist dabei auch, dass Domain, Account und Hostname des Clients korrekt angezeigt und übertragen werden.

image

In Paket 488 sieht man dann auch die finale Anfrage nach \\nasbp.home.local\temp und die erfolgreiche Bestätigung in Palet 490.

Die erfolgreiche Kommunikation basiert vollständig auf NTLM und verwendet kein Kerberos. Als Client war Windows 11 22H2 Professional Edition im Einsatz.

Die Ursache – The bad case –

Schaut man sich dagegen einen Trace an, in dem die Verbindung nicht zustande kommt, passieren hier andere interessante Dinge. Dazu müssen wir aber ein wenig ausholen und nicht nur den SMB Verkehr betrachten, der ist nämlich ein “Oper” von Dingen die davor passiert sind.

Die DNS Abfragen sehen hier noch wie erwartet aus.

image

Der Client (dieses Mal die IP 192.168.178.141, fragt den Server / das NAS 192.168.178.11 und .21 nach dem A (IPv4) und dem AAAA (IPv6) Eintrag ab und bekommt auch die korrekten Werte geliefert. Auch SMB scheint noch am Anfang korrekt zu arbeiten.

image

In Paket 159 fragt der Client den Server nach dem zu verwendenden SMB Dialect an.

image

In Paket 161 antwortet der Server mit SMB2 *

image

Daraufhin versucht der Client in Paket 162 auf eine nochmals höhere Version zu gehen.

image

Wo der Server auch gerne mitgeht Smile (irgendwie ist das wie beim Reizen im Skat).

image

In Paket 165, wurde letztendlich der höchste der angebotenen Dialekte SMB 3.1.1 verhandelt und angenommen.

image

Jetzt schickt der Client in Paket 171 (KRB5) einen AS-REQ an den Server.

image

Hier eine Abbildung der unter etype angebotenen Verschlüsselungsarten (Paket 171).

image

Die Anfrage wird vom Server abgelehnt (Paket 173), da er eine PRE-Authentification fordert, dazu wird aber auch gleich die notwendige Verschlüsselungsart mitgeteilt.

image

Die Kommunikation endet immer mit einem Fehler, nachdem insgesamt 6 Pakete ausgetauscht wurden.

KRB Error: KRB5KRB_AP_ERR_BAD_INTEGRITY

image

Das passiert wiederum 4x und danach erscheint die Meldung, dass der Benutzer oder das Passwort nicht korrekt ist und das nur, wenn als Client Windows 11 22H2 Enterprise Edition verwendet wird.

Ein zweiter (schmutziger) Workaround

Ich selber bin kein Freund von IP-Adressen in dem Sinne, dass sie für Verbindungen zu anderen Systemen genutzt oder gar hart verdrahtet werden. Wieso gibt es denn eigentlich DNS und den will ich auch verwenden?!

Einen Fall-Back von Kerberos auf NTLM lässt sich damit erzwingen, dass wir seitens des SMB-Servers (dem NAS) die DES-Encryption erzwingen.

image

Das ist an sich keine schöne Sachen, da DES als “weak” gilt und nicht mehr verwendet werden sollte.

Wie in den Paketen 95 und 97 im folgenden Trace zu sehen ist, können sich Server und Client nicht auf DES einigen und es erfolgt ein Fall-Backup auf NTLM.

image

Damit zwingt man die Enterprise Edition zum gleichen Verhalten wie die Windows 11 22H2 Professional Edition.

Zum Schluss

Es stellt sich nun die Frage, wieso verhält sich die Enterprise Edition eigentlich so, während Windows 11 22H2 Professional gleich mit NTLM ins Rennen geht.

Eine mögliche und für mich die einzige Erklärung die ich gefunden habe ist, dass mit Windows 11 22H2 bei der Enterprise Edition der Windows Defender Credential Guard aktiviert wurde.

image

Ich bin gespannt, wie die Sache weiter geht und werde es Euch wissen lassen wenn neue Erkenntnisse vorliegen. Falls hier jemand weitere Infos hat, bitte in die Kommentare unten reinschreiben.

Update 02.11.2022

Das Problem scheint nur Synology NAS Systeme und den Directory Server zu betreffen, ansonsten ist es recht ruhig zu dem Thema im Internet. Zumal, wenn der Zugriff über eine IP-Adresse anstatt des FQDN erfolgt, es ohnehin nicht auftritt.

Nun hat Synology Anfang November ein Update für den SMB Service bereitgestellt, welches das folgende Problem löst.

“Fixed an issue where users could not joind their computers to Synology Directory Server after updating OS to Windows 11 22H2”

image

Seitdem ist das Problem bei mir nicht mehr aufgetreten. Nach der Installation des Updates auf dem NAS habe ich die DES encryption für den Account wieder rückgängig gemacht und alles läuft und funktioniert wieder wie gehabt.

Enjoy it, b!