Forts de vos nouvelles connaissances, utilisez ADSI pour attribuer des ressources à des gens d'après leur groupe d'appartenance. Pour cela, vous devez collecter le nom de l'utilisateur et le domaine de l'utilisateur actuellement connecté, injecter cette information dans une fonction GetObject pour se lier à cet objet utilisateur, puis extraire
Appliquer ce que vous avez appris
une liste des groupes auxquels cet utilisateur
appartient. Munis de cette liste, vous pouvez utiliser l’instruction
For Each…Next de VBScript pour effectuer
une action sur chaque groupe
de la liste. Dans ce cas, l’action consiste
à comparer le nom du groupe à une
liste de noms de groupes possibles. Si
une correspondance se manifeste, associez
la ressource réseau appropriée.
Utilisez les même méthodes et propriétés
d’objets WshNetwork dont je
vous ai montré l’utilisation dans
« Connecter les utilisateurs aux ressources
réseau ». Le listing 3 montre à
quoi pourrait ressembler le script.
Si vous personnalisez et exécutez
le script SetResource.vbs du listing 3, il
attribuera les ressources réseau
d’après le groupe d’appartenance de
l’utilisateur. Cependant, si vos utilisateurs
appartiennent à plus d’un
groupe, vous aurez du mal à utiliser ce
script en l’état. SetResource.vbs associe
une lettre d’unité à une ressource
réseau d’après le groupe de l’utilisateur
; si le script rencontre un second
groupe pour l’utilisateur, le script ne
peut pas associer l’unité à nouveau. Le
script se terminera alors avec une erreur.
Pour éviter cela, vous avez deux
possibilités : vous pouvez empêcher
SetResource.vbs d’essayer d’associer
une seconde ressource réseau au
même utilisateur, ou vous pouvez
dissocier l’unité réseau existante avant
d’associer la nouvelle.
Empêcher une seconde tentative
d’association. Pour empêcher le script
d’essayer d’associer une seconde ressource
réseau au même utilisateur,
vous pouvez utiliser la méthode Quit
de l’objet WScript pour terminer le
script dès qu’une correspondance se
produit. A l’exception de la clause Case
Else (qui inclut toujours la méthode
Quit), vous devez ajouter la méthode
Quit à la fin de chaque cas, comme le
montre le code suivant :
Case « Domain Users »
oNet.MapNetworkDrive « X: », _
« \\server\users »
WScript.Quit
Cependant, si votre script effectue
d’autres tâches après l’association à
une ressource réseau, vous ne voudrez
pas qu’il se termine après avoir associé
la ressource. Dans de tels cas, vous
pouvez utiliser l’instruction Exit pour
quitter la boucle For Each…Next. Dès
qu’une association se produit, le script
cesse d’explorer les noms de groupes
et poursuit à hauteur du code qui suit
la clause Next. Pour cela, il faut ajouter
à la fin de chaque cas une instruction
Exit qui inclut le mot-clé For, comme le
montre le code suivant :
Case « Domain Users »
oNet.MapNetworkDrive « X: »,_
« \\server\users »
Exit For
Comme la clause Case Else inclut
déjà la méthode Quit, vous n’ajouteriez
pas une instruction Exit à la clause
Case Else.
Que vous utilisiez la méthode Quit
ou l’instruction Exit, faites très attention
à l’ordre dans lequel vous placez
les cas dans l’instruction Select Case.
Supposons que vous vouliez associer
les utilisateurs qui sont dans des
groupes multiples à la ressource réseau
la plus puissante mise à leur disposition.
Autant pour la méthode Quit
que pour l’instruction Exit, vous devez
mettre le groupe le plus puissant
d’abord. Par exemple, si vous faites la
comparaison sur deux groupes –
Domain Users et Domain Administrators
– vous mettrez le code Case
« Domain Administrators » en premier,
suivi du code Case « Domain Users ». (La
clause Case Else vient toujours en dernier.
Dissocier une unité de réseau existante.
Si vos utilisateurs appartiennent
à plus d’un groupe, vous pouvez empêcher
SetResource.vbs de signaler
une erreur à cause d’une unité de réseau
existante. Pour cela, dissociez
l’unité existante puis associez à la nouvelle
unité. Ce processus utilise la méthode
RemoveNetworkDrive de l’objet
WshNetwork, comme le montre le
code suivant :
Case « Domain Administrators »
oNet.RemoveNetworkDrive « X: »
oNet.MapNetworkDrive « X: », _
« \\server\users »
Comme la méthode Quit et l’instruction
Exit, la méthode RemoveNetworkDrive
demande que vous placiez
les cas de l’instruction Select Case dans
un certain ordre. Toutefois, quand
vous utilisez la méthode Remove-
NetworkDrive, vous devez placer le
groupe le plus puissant en dernier et le
groupe le moins puissant en premier.
En outre, vous ne devez pas inclure la
méthode RemoveNetworkDrive dans
le code pour le premier cas.
Téléchargez cette ressource

Assurer la sécurité des documents avec des solutions logicielles Cloud
Avec l'essor des nouvelles technologies telles que l'intelligence artificielle (IA) et l'internet des objets (IoT), les possibilités de transformer notre façon de travailler et d'interagir sont devenues infinies. Découvrez maintenant comment assurer la sécurité des documents avec des solutions logicielles Cloud.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Quel est l’impact du stockage des données sur le climat ?
- Les piliers de la création de valeur business
- Industrie 4.0 : Comment l’analyse de données enrichie par les capteurs et augmentée par l’IA optimise la production automobile
- Vidéo Protection des données avec Purview !
- Le pari de la FemTech : améliorer la santé des femmes
