Connecter un lecteur réseau en PowerShell
Dans ce chapitre, nous allons apprendre à connecter un lecteur réseau sur Windows à partir de PowerShell et de New-PSDrive afin d'accéder à un partage depuis Windows Server Core.
Notre serveur CORE01 est intégré au sein d’un domaine, il y a donc de fortes chances pour qu’il ait besoin d’accéder à des ressources partagées sur un autre serveur. Même si l'on peut pousser des données vers ce serveur, comme nous l'avons déjà fait pour installer un logiciel en ligne de commande (par exemple), il est utile de savoir connecter un lecteur réseau via PowerShell.
L'objectif va être de monter le partage nommé « Partage » et disponible sur le serveur « SRV01 » (utilisé précédemment).
I. Préparation du serveur SRV01
Le serveur SRV01 doit disposer d’un partage nommé « Partage » et accessible depuis CORE01. Créez ce partage sur SRV01, en donnant l’accès en contrôle total sur le partage au groupe des « Admins du domaine », mais aussi au niveau des permissions NTFS.
On créera un fichier nommé « Bienvenue sur SRV01 » à la racine de ce partage.
Pour ceux qui auraient besoin, voici la procédure rapide, à appliquer sur SRV01 pour créer un partage. Vous pouvez aussi créer le partage SMB avec PowerShell puisque nous avons vu comment faire dans un précédent chapitre.
- Créer un nouveau dossier nommé « Partage » à la racine de C:
- Cliquez droit et « Propriétés » sur ce dossier
- Onglet « Partage » et cliquez sur « Partage avancé »
- Nom du partage « Partage »
- Cliquez sur le bouton « Autorisations » pour gérer les autorisations du partage
- Ajouter « Admins du domaine » et supprimez « Tout le monde ».
- Onglet « Sécurité », ajoutez des droits « Contrôle Total » au groupe « Admins du domaine »
Validez, votre partage est créé et les droits attribués. Vous êtes prêt à passer à la suite.
II. Créer le lecteur réseau avec PowerShell
La création d’un lecteur réseau s’effectue avec le commandlet « New-PSDrive ». On va monter sur CORE01 un lecteur réseau vers le partage que nous venons de créer sur SRV01. Ce lecteur réseau sera persistant et utilisera la lettre de lecteur « P ». Enfin, on se connectera avec le compte Administrateur du domaine it-connect.fr
Voici la commande pour réaliser cette opération :
New-PSDrive -Name P -Root \\SRV01.it-connect.local\Partage -PSProvider FileSystem -Persist -Credential [email protected]
Intéressons-nous de plus près à la syntaxe de la commande :
-Name : Nom du lecteur réseau. Comme il s’agit d’un lecteur persistent, il est obligatoire d’indiquer une lettre quant au nom du lecteur réseau. À l’inverse, si l’option « -Persist » n’est pas précisée, vous pouvez indiquer n’importe quelle chaîne valide.
-Root : Chemin UNC vers le partage cible, autrement dit vers la racine vers laquelle doit pointer le lecteur réseau
-PSProvider : Spécifie le fournisseur Windows Powershell à utiliser, on spécifiera pour des partages réseau la valeur « FileSystem ». En fait, le fournisseur « FileSystem » correspond aux cibles de type lecteurs, répertoires et fichiers du système de fichiers.
-Credential : Spécifier un compte à utiliser pour initier la connexion, si rien n’est indiqué, le compte avec lequel on est connecté sur la machine sera utilisé. Cette option doit être suivie du nom de l’utilisateur, et lors de l’exécution de la commande, il faudra indiquer le mot de passe de cet utilisateur au sein d’une fenêtre d’authentification.
Une fois le lecteur réseau monté sous la lettre « P », on peut lister son contenu pour vérifier que notre fichier « Bienvenue sur SRV01 » est présent (voir résultat copie d’écran ci-dessous).
Get-ChildItem P:
À tout moment, supprimez un lecteur réseau que vous avez monté grâce à la commande suivante :
Remove-PSDrive P
L’exemple ci-dessus supprime le lecteur réseau « P ».
Enfin, je tiens à préciser que la commande « Get-PSDrive » permet de lister l’ensemble des lecteurs montés sur la machine, que ce soit des lecteurs réseau ou des lecteurs système. Par ailleurs, lorsque vous connectez un périphérique externe (clé USB, disque dur externe), il sera visible dans cette liste. Cela permettra de repérer la lettre du lecteur pour y accéder par la suite.
C’est simple, n’est-ce pas ? La simplicité offerte par PowerShell pour créer et supprimer un lecteur réseau ne vous fera pas regretter la commande « net user », utilisée historiquement en DOS pour gérer les lecteurs réseau.