Site icon RDR-IT

Mappage lecteur réseau : GPO et Script

Lors de la mise en place d’un annuaire Active Directory, l’une des premières chose que l’on souhaite faire, c’est de mapper automatiquement un ou plusieurs lecteurs réseaux à l’ouverture de session des utilisateurs.

Pour rappel, un lecteur réseau est un partage présenté à un poste/utilisateur sous la forme d’une lettre comme un disque dur/clef usb….

Dans ce tutoriel, je vais vous présenter deux façons de mapper un lecteur réseau, par GPO et à l’aide d’un script qui doit être exécuté à l’ouverture de session, donc à l’aide d’une stratégie de groupe également.

À travers ce tutoriel, nous allons voir que le résultat est identique.

Le mappage des lecteurs réseaux par stratégie de groupe présente pour ma part plusieurs avantages : 

Le script d’ouverture de session est certes configuré dans une stratégie de groupe, mais la commande gpupdate ne permet pas de rejouer le script, il faut impérativement fermer puis ouvrir de nouveau la session pour l’appliquer de nouveau le script et avoir le nouveau lecteur réseau ou la modification de celui-ci.

Prérequis :

Mappage de lecteur réseau par GPO – Stratégie de groupe

1. Ouvrir l’éditeur de stratégie de groupe sur un contrôleur de domaine.

2. Créer une nouvelle stratégie, faire un clic droit sur le nom domaine 1 ou sur une unité d’organisation et cliquer sur Créer un objet GPO dans ce domaine, et lier ici 2.

3. Donner un nom avec stratégie et cliquer sur OK 1.

4. Faire un clic droit sur la stratégie 1 et cliquer sur Modifier 2 pour ouvrir l’éditeur.

5. Aller sur Configuration utilisateur / Préférences / Paramètres Windows et double cliquer sur Mappages de lecteurs 1.

6. Faire un clic droit  Nouveau 1 / Lecteur mappé 2.

7. Remplir le formulaire :

8. Le lecteur 1 doit être visible dans Mappages de lecteurs.

9. Résumé de la GPO, par défaut le lecteur est mappé à tous les utilisateurs.

Limiter le mappage du lecteur réseau à un groupe

Dans cette partie nous allons voir comment limiter le mappage à un groupe utilisateur à l’aide du Ciblage au niveau de l’élément.

Il est aussi possible de limiter l’exécution de la stratégie au niveau du filtrage de sécurité, ce qui implique de faire une stratégie par lecteur.

Le ciblage au niveau de l’élément de limite pas les droits sur le partage, il faut tout même paramétrer les droits NTFS sur le dossier.

1. Éditer votre lecteur clic droit dessus 1 et Propriétés.

2. Aller sur l’onglet Commun 1, cocher « Ciblage au niveau de l’élément » 2 et cliquer sur Ciblage 3.

3. Cliquer sur Nouvel élément 1 et sélectionner Groupe de sécurité 2.

4. Ajouter votre groupe 1 et cliquer sur OK 2.

5. C’est fini, le lecteur P sera mappé seulement aux utilisateurs étant dans le groupe Grp_Partage_RW. Si vous retourner sur l’aperçu des paramètres de la stratégie, vous pouvez voir les éléments du ciblage 1.

Script pour mapper un lecteur réseau

Avertissement

Le script présenté dans ce tutoriel est écrit en VBS.

Dans les prochaines version de Windows 11, le langage VBS va devenir une fonctionnalité facultative car le langage VBS est maintenant déprécié.

Vous trouverez dans l’article suivant : Script d’ouverture de session (Logon Script) en PowerShell, un exemple de script écrit en PowerShell.

Source : Resources for deprecated features

1. Créer un nouveau fichier qui doit avoir l’extension vbs.

2. Editer le fichier (Notepad++, bloc notes…) et ajoute les codes ci-dessous :

' En cas d erreur le script continue
On error resume next 
' Declaration des variables 
Dim WshNetwork 
' Declaration des objets 
Set WshNetwork = WScript.CreateObject("WScript.Network") 
' Mappage du lecteur P 
WshNetwork.MapNetworkDrive "P:", "\\LAB-AD1\partage", true

3. Ajouter le script à l’ouverture de session par stratégie de groupe pour effectuer le mappage du lecteur réseau.

Limiter le mappage du lecteur à un groupe par script

Comme pour la GPO, nous allons maintenant modifier le script pour limiter le mappage lecteur réseau au groupe Grp_partage_RW.

1. Éditer le fichier :

'En cas d erreur le script continue On error resume next ' Declaration des variables Dim WshNetwork,oShell ' Declaration des objets Set WshNetwork = WScript.CreateObject("WScript.Network") Set oShell = CreateObject("WScript.Shell") ' Mappage du lecteur P If isMember("Grp_Partage_RW") Then WshNetwork.MapNetworkDrive "P:", "\\LAB-AD1\partage", true End If '##################################################### ' Functions secondaires '##################################################### Function IsMember(groupName) If IsEmpty(groupListD) then Set groupListD = CreateObject("Scripting.Dictionary") groupListD.CompareMode = 1 ADSPath = EnvString("userdomain") & "/" & EnvString("username") Set userPath = GetObject("WinNT://" & ADSPath & ",user") For Each listGroup in userPath.Groups groupListD.Add listGroup.Name, "-" Next End if IsMember = CBool(groupListD.Exists(groupName)) End Function Function EnvString(variable) variable = "%" & variable & "%" EnvString = oShell.ExpandEnvironmentStrings(variable) End Function

Comment vous pouvez le voir, on a ajouté deux fonctions à la fin du code, qui permettent la vérification de l’appartenance au groupe de l’utilisateur connecté. Le mappage du lecteur est maintenant soumit à condition (if).

Conclusion

GPO ou script, les deux solutions fonctionnent tout dépend ce que vous préférez. Si vous optez pour le script, commenter bien votre code.

Quitter la version mobile