Machen Sie sich bereit, zu lernen, wie Sie bessere DFS PowerShell-Skripte schreiben können, indem Sie das Wissen nutzen, das Sie in diesem Tutorial gewinnen. In diesem Beitrag erfahren Sie alles über das Verwalten von DFS-Links in PowerShell!
Dieser Blog-Beitrag hat ein begleitendes Video, das von TechSnips-Mitarbeiter Scott Hurst erstellt wurde. Schauen Sie es sich gerne an oder lesen Sie weiter, wenn Sie Text bevorzugen!
Meine neuesten Videos
Distributed File System (DFS)-Links vereinfachen die Arbeit mit Netzwerkdateifreigaben. DFS-Links ermöglichen es Benutzern und Anwendungen, über einen virtuellen Pfadnamen auf freigegebene Ordner zuzugreifen. Sie können DFS Links mit PowerShell erstellen.
Ob Sie Active Directory oder ein anderes DFS-Produkt verwalten, das Schreiben von DFS PowerShell-Skripten wird Ihnen helfen, alle auftretenden Probleme zu bewältigen.
Dieser virtuelle Namensraum ermöglicht es Administratoren, freigegebene Ordner, die sich auf verschiedenen Servern befinden, zu präsentieren oder sogar den Speicherort eines freigegebenen Ordners vollständig transparent für die Verbraucher des Ordners zu ändern.
Benutzer müssen keine Lesezeichen aktualisieren und Anwendungen müssen nicht mit neuen Pfaden aktualisiert werden, wenn sich Dateiserver ändern.
Vorteile von DFS
Für die Benutzer wird der Zugriff auf Netzwerkfreigabeordner auf das Format <Namensraum>\Ordnername vereinfacht, was eine Reduzierung der Komplexität bei der Arbeit mit Ordnern, die auf entfernten Servern gespeichert sind, bedeutet.
Für Anwendungen müssen fest codierte Pfade zu Ressourcen im Netzwerk aufgrund einer Änderung des Netzwerkpfads nicht geändert werden. Ein einfaches Update des DFS Links und die Anwendung werden weiterhin auf die Ressourcen an ihrem neuen Speicherort zugreifen.
Voraussetzungen für die DFS-Serverrolle
- Active Directory
- Datei- und Speicherdienste-Rolle auf einem Windows Server installiert
- Windows Server (Semi-Annual Channel)
- Windows Server 2016
- Windows Server 2012 R2
- Windows Server 2012
- Windows Server 2008 R2 Datacenter/Enterprise
Voraussetzungen
- Ein Administratorkonto mit den entsprechenden Berechtigungen
- RSAT-Tools mit den „File Services-Tools – DFS-Verwaltungstools“ installiert
Einrichten Ihrer DSC PowerShell-Skripte
Zuerst laden Sie RSAT herunter und installieren Sie es. Anschließend müssen Sie alle erforderlichen Windows-Funktionen installieren. Dadurch wird die DFS-Verwaltung-GUI, das DFS-Namespaces-Modul für Windows PowerShell zur Erstellung von DFS-Links mit PowerShell und deren Verwaltung sowie Befehlszeilentools installiert, es werden jedoch keine DFS-Dienste auf dem Server installiert.
Gängige DFS-Befehle
Sie können Namespaces mithilfe der DFS-Verwaltung-GUI, der DFS-Namespace (DFSN)-Cmdlets in PowerShell, der DfsUtil-Befehle oder Skripten, die WMI aufrufen, verwalten.
Einige gängige PowerShell-Befehle sind:
Get-DfsnRoot
– Ermittelt alle DFS-Namespaces in der aktuellen Domäne – Wird häufig verwendet, um verfügbare Namespaces in der aktuellen Domäne zu überprüfenNew-DfsnFolder
– Erstellt einen neuen DFS-Ordner
– Wird häufig verwendet, um einen neuen DFS-Ordner in einem Namespace zu erstellenNew-DfsnFolderTarget
– Weist Pfad(e) einem DFS-Ordner zu
– Wird häufig verwendet, um einem DFS-Ordner einen oder mehrere Netzwerkordnerpfade zuzuweisenRemove-DfsnFolderTarget
– Entfernt einen Pfad aus einem DFS-Ordner, entfernt jedoch nicht den DFS-Ordner.
– Wird häufig verwendet, um einen oder mehrere Netzwerkordnerpfade aus einem DFS-Ordner zu entfernenRemove-DfsnFolder
– Entfernt einen Ordner und alle seine Pfade
– Wird häufig verwendet, um einen DFS-Ordner aus einem Namespace zu entfernen
DFS-Namespaces finden
Wir beginnen damit, uns einen Überblick über alle online und verfügbaren Namespaces in der aktuellen Domäne mit dem Befehl Get-DfsnRoot
zu verschaffen.
Dies zeigt, dass es in dieser Domäne zwei Namespaces gibt, die Online
sind.

DFS-Ordner finden
Mit dem Befehl Get-DfsnFolder
können wir die DFS Ordner in jedem Namespace auflisten.
Aus dieser Ausgabe können wir sehen, dass es im AppRoot-Namespace keinen DFS Ordner mit dem Namen PowerShell gibt.

Erstellen von DFS-Link-Ordnern für DSC PowerShell-Skripte
In diesem Beispiel haben wir einen replizierten Ordner namens PowerShell auf unseren drei Dateiservern; FileServer01, FileServer02 und Datacenter.
Das Ziel ist es, diesen replizierten Ordner über einen einzigen Pfad mit unseren Admins zu teilen.
Dazu erstellen wir einen neuen DFS Link-Ordner im AppRoot Namespace mit dem Namen PowerShell unter Verwendung von New-DfsnFolder
und verweisen darauf auf den Dateifreigabe des Datacenter-Servers. Wir setzen den DFS Ordner–Status auf Online und setzen den Zielpfad–Status auf Online.
In der DFS-Verwaltungsoberfläche sehen wir, dass der DFS-Ordner PowerShell nicht existiert.


Lassen Sie uns nun den Windows Explorer aus einer PowerShell-Konsole ausführen und bestätigen, dass er nicht existiert.
Wenn der Ordner nicht existiert, schreibt er die Ausgabe Pfad nicht gefunden. Fortfahren in grünem Text in das Terminalfenster, wie Sie unten sehen können.
Aus der Ausgabe sehen wir, dass der Ordner erstellt wurde, die Verweisprioritätsklasse
auf Global-High
gesetzt ist und der Status
Online
ist.

Die GUI bestätigt auch, was uns PowerShell gesagt hat.

und unser Pfad ist nun im Windows Explorer verfügbar.

Erstellen von DFS-Ordnerzielen
Jetzt, da wir erfolgreich den Powershell DFS Ordner im Namensraum erstellt haben, fügen Sie ihm einen zusätzlichen Ordnerziel-Pfad hinzu und setzen Sie diesen Pfad als Online mit Hilfe von New-DfsnFolderTarget
. DFS PowerShell-Skripte ermöglichen es Ihnen, beliebig viele Komponenten hinzuzufügen.
Bis zu diesem Punkt haben wir zwei unserer drei Server-Pfade hinzugefügt und sind online. Für unseren letzten Ordnerpfad möchten wir den Pfad hinzufügen, aber ihn nicht für Benutzer verfügbar machen. Fügen wir also einen Ordnerziel-Pfad zu unserem PowerShell DFS Ordner hinzu und setzen diesmal den DFS-Ordnerpfad-Status auf offline. Hierfür verwenden wir erneut New-DfsnFolderTarget
.

Sie können sehen, dass der Pfad von FileServer01 und Datacenter derzeit Online
ist und der Zustand von FileServer02 auf Offline
gesetzt wurde.

Einstellen der DFS-Ordnerziele auf Offline oder Online
Wir können auch ändern, welche Server die Online und Offline Hosts sind, und sogar welcher Server der primäre Host des Dateipfads sein wird, indem wir Set-DfsnFolderTarget
verwenden.
Wie unten zu sehen ist:
- Der Pfad von FileServer01 wurde auf
Offline
geändert - Die Referenzprioritätsklasse von Datacenter wurde von
global-high
aufsitecost-normal
geändert - Der Pfad von FileServer02 hat seinen Zustand auf
Online
geändert - Die Referenzprioritätsklasse von FileServer02 wurde auf
global-high
geändert

Entfernen von DFS-Ordnerziel-Pfaden mit PowerShell
I try to vaccinate my code against the fat finger flu as much as possible. Here we will try to install a safety net before removing one of the folders by making sure that it is offline before deleting it.
Auf Wiedersehen FileServer01 Ordner!

Für diejenigen, die die Option des Sicherheitsnetzes lieber vermeiden möchten, können wir euch, tapfere Seelen, auch unterbringen.
Wir haben uns von dem Ordner FileServer02 verabschiedet.

DFS-Ordner entfernen
Es war ein langer und verschlungener Weg, aber die Zeit für unseren DFS-Link ist gekommen. Wir können den PowerShell-Ordner und den DFS-Link mit dem Befehl Remove-DfsnFolder
entfernen.

A quick double-check of the DFS Management GUI shows our DFS link is no more.

Zusammenfassung
Das war’s! Du hast dich auf einen verschlungenen Weg aus DFS und PowerShell-Kung-Fu begeben. Ich hoffe, du hast jetzt einige Code-Schnipsel gesammelt, um dir beim Erstellen besserer PowerShell DFS-Skripte zu helfen!
Source:
https://adamtheautomator.com/dfs-powershell-scripts/