Kann ein NTFS-Verbindungspunkt über eine Netzwerkfreigabe verfolgt werden?

Kann ein NTFS-Verbindungspunkt über eine Netzwerkfreigabe verfolgt werden?

Betriebssystem: Windows Server 2016

Wenn ich einen Ordner X habe, der einen Verknüpfungspunkt zu einem anderen Ordner Y enthält (auf derselben Maschine und demselben Datenträger), wird ein Remote-Benutzer, der eine Verbindung zu X herstellt, zu Y umgeleitet, wenn ich X über das Netzwerk freigebe?

Der Anwendungsfall ist, dass sich der Ordnerspeicherort/-name Y nach der Ausführung einer geplanten Aufgabe ab und zu ändert. Ich möchte jedoch, dass die Remotebenutzer immer denselben Netzwerkfreigabenamen (X) verwenden. Ich könnte den Verbindungspunkt während der Ausführung der Aufgabe aktualisieren.

Gibt es eine andere Technik, mit der ich das erreichen könnte? Ich hatte mit der folgenden Methode einige Erfolge: Ich erstelle oder aktualisiere eine Netzwerkfreigabe mit dem Namen X und lasse sie direkt auf Y verweisen. Das funktioniert aber nur, wenn X eine Freigabe der obersten Ebene ist.

Ich suche nach einer Lösung, die auch im folgenden Fall funktioniert: Lassen Sie X eine Freigabe für Y sein. Wenn Y dann einen Unterordner A enthält, können Remote-Benutzer über den Netzwerkpfad X\A darauf zugreifen. Ich brauche aber auch den Fall, dass Remote-Benutzer über einen Netzwerkpfad, beispielsweise X\B, auf einen völlig anderen Pfad auf dem Computer zugreifen können sollten. Daher meine Idee, einen Verbindungspunkt von Y\B zu einem anderen Pfad zu erstellen. (auf den Remote-Benutzer über X\B zugreifen würden)

Ist es möglich?

Antwort1

Ja, der SMB-Dateiserver folgt Verzeichnisverbindungen ( mklink /j) automatisch und transparent, selbst wenn das Ziel außerhalb eines freigegebenen Ordners zeigt. (Experimentell getestet.)

Andererseits folgt der Server keinen symbolischen Links ( mklink /d) – diese werden dem Client überlassen, der ihnen standardmäßig ebenfalls nicht folgt (und wenn Sie diese Option aktivieren, muss das Ziel offensichtlich ein anderer freigegebener Ordner sein). Weitere Informationen finden Sie im Beitrag von harrymc.

Als dritte Möglichkeit können Sie unter Windows Server eine Freigabe alsDFS-Namespace, unter dem Sie sowohl normale Dateien als auch spezielle „Referral“-Verzeichnisse haben können, die auf eine andere Freigabe verweisen können – sogar auf einem anderen Server. (Diese Verweise werden immer clientseitig befolgt und von allen Windows-Versionen, libsmbclient und sogar Linux cifs.ko erkannt.)

DFS ist wahrscheinlich die bevorzugte Option, wenn Ordner Y jemals auf einen anderen Computer verschoben werden muss. (Es ist kein Active Directory erforderlich, obwohl eine gemeinsame Authentifizierung auf allen Dateiservern die Dinge einfacher macht.)

Antwort2

Der Windows-Client lässt standardmäßig keine Ketten symbolischer Links zu.

Der Befehl, der dieses Verhalten steuert, ist fsutil, weiter dokumentiert im Artikel Fsutil-Verhalten.

Das spezifische Verhalten, nach dem Sie suchen, heißt SymlinkEvaluation. Sie können den aktuellen Wert sehen, indem Sie in einer Eingabeaufforderung den Befehl eingeben fsutil behavior query SymlinkEvaluation. Die folgenden sind die Standardeinstellungen auf meinem Windows 10:

Bildbeschreibung hier eingeben

Die Verhaltenscodes für SymlinkEvaluationhaben die Namen L2L, L2R, R2L, und und R2Rbedeuten Folgendes:

  • Lsteht für „Local“ und Rfür „Remote“
  • Das ERSTE Loder R-Vordas 2- bezieht sich auf den Standort des Links selbst (nicht auf sein Ziel)relativ zur Maschine, die auf den Link zugreift.
  • Der ZWEITE Loder R-nachdas 2- bezieht sich auf den Standort des LinksZiel relativ zur Maschine, auf der sich der LINK selbst befindet.

SymlinkEvaluation R2LMit den Einstellungen können Sie beispielsweise den Zugriff auf Links steuern:

  • befindet sich auf einem Remotecomputer ( R)
  • die auf Ziele auf demselben Remotecomputer verweisen ( L)

Somit ergeben sich folgende Möglichkeiten:

  1. Lokale zu lokalen symbolischen Links,L2L:{0|1}
  2. Symbolische Links von lokal zu remote,L2R:{0|1}
  3. Symbolische Links von Remote zu lokal,R2R:{0|1}
  4. Symbolische Remote-zu-Remote-Links,R2L:{0|1}

wobei 0für deaktiviert steht und 1für aktiviert steht.

Der Befehl, nach dem Sie möglicherweise suchen, lautet:

fsutil behavior set SymlinkEvaluation R2L:1

Denken Sie daran, dass dies auf dem Client und nicht auf dem Server erfolgt.

Antwort3

September 2022: Verbindungen über die Netzwerkfreigabe scheinen nicht mehr zu funktionieren.

https://learn.microsoft.com/en-us/sysinternals/downloads/junction

Letzte Aktualisierung: 19.07.2022

Notiz

Windows unterstützt keine Verknüpfungen zu Verzeichnissen auf Remotefreigaben.

In der Vergangenheit habe ich auf meinem Netzwerkfreigabeserver Junctions erstellt, die auf ein anderes Laufwerk verwiesen. Alles funktionierte einwandfrei. Ich habe es bis jetzt eine Weile nicht verwendet, aber es ist etwas kaputtgegangen.

  • Auf der Clientseite erfolgt bei einem Doppelklick auf das Verbindungssymbol keine Reaktion – es wird nichts angezeigt oder geändert.
  • Auf der Clientseite wird die Verbindung unter „Eigenschaften“ als Ordner angezeigt, sie enthält jedoch 0 Bytes und 0 Dateien.
  • Ein Rechtsklick auf das Symbol und die Auswahl von „In neuem Fenster öffnen“ führt zu keiner Reaktion.
  • Weder "Netzlaufwerk verbinden" noch der direkte Zugriff auf \Server\Share funktionierten

Auf der Serverseite hat Folgendes nicht geholfen:

  • Einrichten einer neuen Freigabe für das Junction-Ziel.
  • Neubeginn, neue Junction, neue Freigabe erstellen, Registerkarte „Sicherheit“ zurücksetzen

Microsoft Office 2013 10.15.2160.0

Ein großes Lob an das großartige Microsoft für die Zerstörung einer weiteren Produktivitätsfunktion.

verwandte Informationen