Script vbs pour mapper des lecteurs réseaux AD - Windows & Software
Marsh Posté le 23-02-2007 à 10:32:22
Je ne m'y connais pas trop la dedans, mais logiquement si il te renvoit qqchose sour la forme "CN=NomGroupe,CN=users,DC=test,DC=fr" tu dois bien pouvoir avec des fontions sur les chaines ne recuperer que la partie qui t'interresse non ?
Marsh Posté le 23-02-2007 à 11:14:32
Tout à fait c'est bien le problème que j'avais... Mais j'ai enfin réussi ! Après de nombreuses recherches et de nombreux essais je suis parvenue à ce que je voulais
Je donne mon script pour ceux qui pourraient en avoir besoin :
Dim objRootLDAP, objGroup, objUser, objOU, objmemberOf
Dim strOU, strUser, strDNSDomain, strLDAP, List, objADSysInfo,arr,intlength,intNamelength,strGroupName
' Commands to bind to AD
Set objRootLDAP = GetObject("LDAP://RootDSE" )
Set objNetwork = CreateObject("Wscript.Network" )
'trouver le DN de l'utilisateur
Set objADSysInfo = CreateObject("ADSystemInfo" )
strUser = objADSysInfo.UserName
Set objUser = GetObject("LDAP://" & strUser)
' Extract a list of Groups from memberOf
objmemberOf = objUser.GetEx("memberOf" )
For Each objGroup in objmemberOf
List = List & objGroup & vbCr
arr=Split(List,"," )
intlength=Len(arr(0))
intNamelength=intlength - 3
Next
strGroupName= Right(arr(0), intNameLength)
'Connecter un lecteur en fonction du groupe
Select Case strGroupName
Case "Etudiant"
objNetwork.MapNetworkDrive "X:", "\\Serveur\Partage"
Case "Personnel"
objNetwork.MapNetworkDrive "X:", "\\Serveur\Partage"
End Select
WScript.Quit
Il fonctionne et mappe les lecteurs en fonction du groupe de l'utilisateur
Cependant, si vous pensez qu'une solution est meilleure que l'utilisation d'un script comme celui, faites m'en part ! Merci !
Marsh Posté le 02-03-2007 à 14:29:09
Up !
Même cas que toi ceci dit en regardant ton script (malgres le fait que je n'y connaisse pas grand chose ) il me semble que tu ne recupere qu'un seul nom de groupe, et donc, si ton utilisateur a plusieur groupes tu ne peux pas lui mapper tout les lecteurs dont il a besoin nan ?
Marsh Posté le 02-12-2010 à 11:33:20
Bonjour,
Nickel ton script, je faisait du mappage avec kixtart sur mon domaine, sauf qu'avec les postes en win7, on a quelques difficultés... Et là ton script m'arrange carrément.
Par contre j'ai fais une petite modif, j'ai rajouté des lignes pour virer le lecteur existant, ca peut etre utile lors du changement du serveur de fichier.
Code :
|
J'ai mis en rouge les lignes que j'ai greffé.
En esperant que ca vous soit utile.
Podeniak
Marsh Posté le 23-02-2007 à 09:35:38
Bonjour
Je débute en vbs et je cherche à créer un script d'ouverture de session qui me permette de mapper un lecteur réseau à un utilisateur en fonction du groupe auquel il appartient dans Active Directory. En m'inspirant de tout ce que j'ai vu, j'obtiens un début de code qui ressemble à ceci :
Dim objRootLDAP, objGroup, objUser, objOU, objmemberOf
Dim strOU, strUser, strDNSDomain, strLDAP, strList, objADSysInfo,arr,intlength,intNamelength,objRecordSet
' Commands to bind to AD and extract domain name
Set objRootLDAP = GetObject("LDAP://RootDSE" )
strDNSDomain = objRootLDAP.Get("DefaultNamingContext" )
'find the user DN
Set objADSysInfo = CreateObject("ADSystemInfo" )
strUser = objADSysInfo.UserName
Set objUser = GetObject("LDAP://" & strUser)
' Extract a list of Groups from memberOf
objmemberOf = objUser.GetEx("memberOf" )
For Each objGroup in objmemberOf
strList = strList & objGroup & vbCr
Next
WScript.Echo strList
J'arrive donc à récupérer le username de l'utilisateur puis à trouver les groupes auxquels il appartient. Mais voila, l'affichage de mes groupes se présente ainsi : CN=NomGroupe,CN=users,DC=test,DC=fr . Je voudrais à partir de ceci récuper seulement le nom du groupe pour pouvoir ensuite mapper les lecteurs en faisant un "case NomGroupe=Etudiant..."
Si vous pouviez me donner une petite piste car là je suis un peu bloquée
Ou peut être auriez vous une meilleure idée pour connecter des lecteurs réseaux aux utilisateurs...une solution plus simple ou plus efficace qu'un script vbs à laquelle je n'aurai pas pensé... Merci !
Message édité par cmoa2 le 23-02-2007 à 11:33:05