Auf einen Ordner auf einer NAS kann nicht zugegriffen werden. (in den Logs exemplarisch: System.IO.IOException: Anmeldung fehlgeschlagen: unbekannter Benutzername oder falsches Kennwort.)


Beachte: Für diese Umsetzung wird mindestens Windows Vista / Server 2008 und NTFS-Dateisysteme benötigt! 


Lösung:

Bitte eine Directory Junction bei Verzeichnissen auf das Ziel auf der NAS anlegen. Optimalerweise legst Du hierzu einen Ordner speziell für diese Verknüpfungen an, damit Du hier den optimalen Überblick behältst. Gehe mit der Windows Eingabeaufforderung bitte wie folgt vor: 

mklink /J VerknüpfungsnameLokal PfadAufNAS

Beispiel:

mklink /J C:\Verknuepungsziel \\pfad-auf-nas

Beachte: Enthalten Pfade Leerzeichen diese Pfade bitte mit Anführungszeichen versehen. 


Hintergrund

Hintergrund ist, dass Windows im Hintergrund bei der Verwendung des Windows Explorers zur Benutzersicherung wesentlich mehr Vorgänge vornimmt, als der Sensor über die Windows-API leistet. Diese Hintergrundaktionen werden durch die Verwendung von Hardlinks oder Directory Junctions auf das Betriebssystem ausgelagert. 

Nicht zu verwechseln mit einer normalen Verknüpfung, diese kann vom Sensor nicht verwendet werden. 


Was ist eine Directory Junction?

Eine Directory Junction bzw. ein Hardlink auf ein Verzeichnis erstellt, im Gegensatz zu einem Softlink, einen Eintrag im Dateisystem der jeweiligen verwendeten Festplatte. Das bedeutet also in diesem Fall, dass auf dem lokalen System im Dateimanagementsystem der Festplatte der Eintrag des zu überwachenden Verzeichnisses auf der NAS gespiegelt wird. Damit sind direkte Zugriffe auf die Verzeichnisse möglich, die mit einer normalen Verknüpfung (Softlink) nicht möglich sind. 


Was macht mklink?

Mit mklink lassen sich auf dem Betriebssystem verschiedene Arten von Verknüpfungen erstellen. Dabei wird unterschieden zwischen Soft- und Hardlinks. 

  • Softlinks sind normale Verknüpfungen, also einfache Referenzen, auf Dateien und Ordner. 
  • Hardlinks sind Einträge im Dateisystem

Es gibt verschiedene Anwendungsszenarien für mklink - hierbei ist es wichtig, zwischen Datei und Verzeichnis zu unterscheiden: 

Anwendungsfall
Befehl
Erstellt eine normale Verknüpfung mit dem Namen "Verknüpfung" auf die Datei "Ziel"mklink Verknüpfung Ziel
Erstellt eine normale Verknüpfung mit dem Namen "Verknüpfung" auf das Verzeichnis "Ziel"
mklink /D Verknüpfung Ziel
Erstellt einen Hardlink mit dem Namen "Verknüpfung" auf die Datei "Ziel"
mklink /H Verknüpfung Ziel
Erstellt einen Hardlink mit dem Namen "Verknüpfung" auf das Verzeichnis "Ziel"
mklink /J Verknüpfung Ziel

Jeweils ausgehend vom aktuell in der Windows Eingabeaufforderung ausgewählten Verzeichnis!