Préparez-vous à apprendre comment écrire de meilleurs scripts PowerShell DFS en utilisant les connaissances que vous acquérez dans ce tutoriel. Dans cet article, vous apprendrez tout sur la gestion des liens DFS en PowerShell!
Cet article de blog est accompagné d’une vidéo réalisée par Scott Hurst, contributeur de TechSnips. N’hésitez pas à la regarder ou, si vous préférez le texte, continuez à lire!
Mes dernières vidéos
Les liens du système de fichiers distribué (DFS) réduisent la complexité du travail avec les partages de fichiers réseau. Les liens DFS permettent aux utilisateurs et aux applications d’accéder à un nom de chemin virtuel pour se connecter à des dossiers partagés. Vous pouvez créer des liens DFS avec PowerShell.
Que vous gériez Active Directory ou un autre produit DFS, l’écriture de scripts PowerShell DFS vous aidera à résoudre les problèmes auxquels vous êtes confronté.
Ce espace de noms virtuel permet aux administrateurs de présenter des dossiers partagés situés sur différents serveurs, ou même de modifier l’emplacement d’un dossier partagé, de manière totalement transparente pour les utilisateurs de ce dossier.
Les utilisateurs n’auront pas besoin de mettre à jour leurs favoris, et les applications n’auront pas besoin d’être mises à jour avec de nouveaux chemins lorsque les serveurs de fichiers changent.
Avantages du DFS
Pour les utilisateurs, l’accès aux dossiers partagés du réseau est simplifié sous la forme <namespace>\NomDossier, ce qui réduit la complexité associée aux dossiers stockés sur des serveurs distants.
Pour les applications, les chemins codés en dur vers les ressources sur le réseau n’ont pas besoin d’être modifiés en cas de changement du chemin réseau. Une simple mise à jour du lien DFS permettra à l’application de continuer à accéder aux ressources à leur nouvel emplacement.
Prérequis pour le rôle de serveur DFS
- Active Directory
- Rôle Services de fichiers et de stockage installés sur un serveur Windows
- Windows Server (canal semi-annuel)
- Windows Server 2016
- Windows Server 2012 R2
- Windows Server 2012
- Windows Server 2008 R2 Datacenter/Enterprise
Prérequis
- Un compte administrateur avec les autorisations appropriées
- Outils RSAT avec l’installation des « Outils de services de fichiers – Outils de gestion DFS »
Configuration de vos scripts PowerShell DSC
Tout d’abord, téléchargez et installez RSAT. Ensuite, vous devez installer toutes les fonctionnalités Windows nécessaires. Cela installera l’interface graphique de gestion DFS, le module DFS Namespaces pour Windows PowerShell pour créer des liens DFS avec PowerShell et les gérer, ainsi que des outils en ligne de commande, mais cela n’installe aucun service DFS sur le serveur.
Commandes DFS courantes
Vous pouvez administrer les espaces de noms en utilisant l’interface graphique de gestion DFS, les cmdlets DFS Namespace (DFSN) en PowerShell, les commandes DfsUtil, ou des scripts qui appellent WMI.
Voici quelques commandes PowerShell courantes :
Get-DfsnRoot
– Découvrir tous les espaces de noms DFS dans le domaine actuel – Couramment utilisé pour vérifier les espaces de noms disponibles dans le domaine actuelNew-DfsnFolder
– Créer un nouveau nom de dossier DFS
– Couramment utilisé pour créer un nouveau dossier DFS dans un espace de nomsNew-DfsnFolderTarget
– Assigner des chemins à un nom de dossier DFS
– Couramment utilisé pour attribuer un ou plusieurs chemins de dossiers réseau à un dossier DFSRemove-DfsnFolderTarget
– Supprime un chemin d’un dossier DFS mais ne supprime pas le dossier DFS.
– Couramment utilisé pour supprimer un ou plusieurs chemins de dossiers réseau d’un dossier DFSRemove-DfsnFolder
– Supprime un dossier et tous ses chemins
– Couramment utilisé pour supprimer un dossier DFS d’un espace de noms
Recherche d’espaces de noms DFS
Nous commencerons par avoir une idée de tous les espaces de noms en ligne et disponibles dans le domaine actuel en utilisant la commande Get-DfsnRoot
.
Cela montre qu’il y a deux espaces de noms en ligne dans ce domaine.

Recherche de dossiers DFS
En utilisant la commande Get-DfsnFolder
, nous pouvons lister les dossiers DFS dans chaque espace de noms.
D’après cette sortie, nous pouvons voir que dans l’espace de noms « AppRoot », il n’y a pas de dossier DFS nommé « PowerShell ».

Création de dossiers de liens DFS pour les scripts PowerShell DSC
Dans cet exemple, nous avons un dossier répliqué nommé PowerShell sur nos trois serveurs de fichiers ; FileServer01, FileServer02 et Datacenter.
Le but est de partager ce dossier répliqué avec nos administrateurs en utilisant un seul chemin.
Pour ce faire, nous allons créer un nouveau dossier DFS lien dans l’espace de noms AppRoot appelé PowerShell en utilisant New-DfsnFolder
et le pointer vers le partage de fichiers du serveur du centre de données. Nous allons définir l’état du dossier DFS sur En ligne et définir l’état de CheminCible sur En ligne.
Dans l’interface graphique de gestion DFS, nous pouvons voir que le dossier DFS PowerShell n’existe pas.


Voyons maintenant exécuter l’Explorateur Windows depuis une console PowerShell et confirmons qu’il n’existe pas.
Si le dossier n’existe pas, il écrira la sortie Chemin introuvable. Prêt à continuer en texte vert dans la fenêtre du terminal, comme vous pouvez le voir ci-dessous.
D’après la sortie, nous constatons que le dossier a été créé, la Classe de priorité de renvoi
est définie sur Global-High
et l’État
est En ligne
.

L’interface graphique confirme également ce que PowerShell nous a dit.

et notre chemin est maintenant disponible dans l’Explorateur Windows.

Création des cibles de dossier DFS
Maintenant que nous avons créé avec succès le dossier DFS « Powershell » dans l’espace de noms, ajoutons un chemin de destination de dossier supplémentaire et définissons ce chemin comme « En ligne » en utilisant « New-DfsnFolderTarget ». Les scripts PowerShell DFS vous permettent d’ajouter un nombre illimité de composants.
Jusqu’à présent, nous avons ajouté et mis en ligne deux de nos trois chemins de serveur. Pour notre dernier chemin de dossier, nous voulons ajouter le chemin mais ne pas le rendre disponible aux utilisateurs. Ajoutons donc un chemin de destination de dossier à notre dossier DFS « Powershell » et cette fois-ci, définissons l’état du chemin DFS comme hors ligne en utilisant « New-DfsnFolderTarget ».

Vous pouvez voir que le chemin de « FileServer01 » et de « Datacenter » est actuellement en ligne, tandis que l’état du chemin de « FileServer02 » a été défini comme hors ligne.

Définir les chemins de destination des dossiers DFS comme hors ligne ou en ligne.
Nous pouvons également modifier les serveurs qui sont les hôtes en ligne et hors ligne, et même définir notre serveur comme l’hôte principal du chemin d’accès du fichier en utilisant la commande `Set-DfsnFolderTarget`.
Comme vous pouvez le voir ci-dessous:
- Le chemin d’accès du serveur FileServer01 a été modifié pour être hors ligne
- La classe de priorité de référence du serveur Datacenter a été modifiée en ‘sitecost-normal’ au lieu de ‘global-high’
- Le chemin d’accès du serveur FileServer02 a été modifié pour être en ligne
- La classe de priorité de référence du serveur FileServer02 a été modifiée en ‘global-high’

Suppression des chemins d’accès cibles de dossiers DFS avec 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.
Au revoir dossier FileServer01!

Pour ceux qui préfèrent renoncer à l’option filet de sécurité, nous pouvons vous accommoder, braves âmes, également.
Nous avons dit adieu au dossier FileServer02.

Suppression des dossiers DFS
Cela a été un long chemin tortueux, mais le temps de notre lien DFS est venu à sa fin. Nous pouvons supprimer le dossier PowerShell et le lien DFS à l’aide de la cmdlet Remove-DfsnFolder
.

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

Résumé
C’est tout ! Vous avez parcouru un long chemin de DFS et de kung-fu PowerShell. J’espère que vous avez maintenant acquis quelques extraits de code pour vous aider à créer de meilleurs scripts PowerShell DFS !
Source:
https://adamtheautomator.com/dfs-powershell-scripts/