[vb]
' LecteurReseau.vbs
' Auteur : Guillaume Maison (gmaison@nauteus.com) http://www.infopartner.biz
' Version 1.0 - Mai 2007
' Basé sur :
' GroupMap.vbs
' VBScript to test group membership
' Script can be amended to actually MapNetworkDrive
' Author Guy Thomas http://computerperformance.co.uk/
' Version 3.3 - May 2006
' -----------------------------------------------------------------'
Option Explicit
Dim objNetwork, objUser, CurrentUser
Dim strGroup

' On initialise des variables constantes avec des valeurs.
' en l'occurence, pour chaque groupe on définit le groupe d'appartenance et le partage sur le serveur.
' attention, étant donné la fonction de détermination d'appartenance à un groupe, il faut préciser "cn=" avant le nom du groupe.
Const Compta_Group = "cn=compta"
Const Compta_Share = "Compta"

Const Direction_Group = "cn=direction"
Const Direction_Share = "Travail"

Const Commun_group = "cn=Commun"
Const Commun_Share = "Commun"

Const Users_Group = "cn=users"
Const users_Share = "Users"

' histoire de, on définit le nom du serveur où se trouvent les partages
Const strServer = "MONSERVEUR"

' la ligne ci-dessous peut être commentée pour être averti des erreurs éventuelles.
On Error resume next

' On crée des objets qui vont permettre de connaître le nom de l'utilisateur connecté 
' et d'aller rechercher les groupes auxquels il appartient
Set objNetwork = CreateObject("WScript.Network")
Set objUser = CreateObject("ADSystemInfo")

Set CurrentUser = GetObject("LDAP://" & objUser.UserName)
strGroup = LCase(Join(CurrentUser.MemberOf))

' Maintenant on teste l'appartenance de l'utilisateur aux groupes ci-dessus 
' et en fonction on ne fait rien ou bien on mappe un lecteur réseau.
' A noter que l'on pourrait tout aussi bien :
' - rattacher des imprimantes partagées spécifiques
' - exécuter une application spécifique au groupe
' - lire/écrire/modifier des fichiers XML voir Excel
' - etc.
' A noter également que les lecteurs créés ci-dessous ne sont pas permanents
If InStr(strGroup, lcase(compta_Group)) Then
	' Les commentaires ci-dessous peuvent être retirés à des fins de déboggage
   ' WScript.Echo "Création du lecteur Compta"
   objNetwork.MapNetworkDrive "Z:", "\\" & strServer & "\" & Compta_Share
End if

If InStr(strGroup, lcase(Direction_Group)) Then
   ' WScript.Echo "Création du lecteur Direction"
   objNetwork.MapNetworkDrive "Y:", "\\" & strServer & "\" & Direction_Share
End if

If InStr(strGroup, lcase(Commun_Group)) Then
   ' WScript.Echo "Création du lecteur Commun"
   objNetwork.MapNetworkDrive "X:", "\\" & strServer & "\" & Commun_Share
End if

If InStr(strGroup, lcase(Users_Group)) Then
   ' WScript.Echo "Création du lecteur Utilisateur"
   objNetwork.MapNetworkDrive "U:", "\\" & strServer & "\" & Users_Share & "\" & objNetwork.UserName
End If

' et on a terminé
WScript.Quit