1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
|
Dim objRootLDAP, objGroup, objUser, objOU, objmemberOf
Dim objADSysInfo,intNamelength,strGroupName
Dim strServer,strprof,streleves,strdevoirs,strmatiere,stradmin,strpart
BS = Chr(92) ' Backslash
DBS = BS & BS ' Double Backslash
strServer="srv" 'Nom du serveur
strprof="Professeurs" 'Nom du partage du groupe Professeurs
strelev="Eleves" 'Nom du partage du groupe Eleves
stredev="Devoirs" 'Nom du partage d'échange des devoirs
strmat="matieres" 'Nom du partage d'échange des cours
stradmin="administratif" 'Nom du partage administratif pour les professeurs
strpart="partage" 'Nom du dossier racine des données partagé
strress="ressources informatiques" 'Nom du partage ressources informatiques
' Commands to bind to AD
Set objRootLDAP = GetObject("LDAP://RootDSE")
Set objNetwork = CreateObject("Wscript.Network" )
Set wshnetwork = WScript.CreateObject("WScript.Network" )
user = wshnetwork.username 'Recuperation du nom d'utilisateur
'Trouver le DN de l'utilisateur
Set objADSysInfo = CreateObject("ADSystemInfo" )
strUser = objADSysInfo.UserName
Set objUser = GetObject("LDAP://" & strUser)
'WScript.Echo strUser
' Extraire la liste des groupes de l'utilisateur
objmemberOf = objUser.GetEx("memberOf" )
For Each objGroup in objmemberOf
strGroupName = objGroup
intNamelength=Len(strGroupName) - 3
strGroupName= Right(strGroupName, intNameLength)
'WScript.Echo strGroupName
'tableau contenant lecteurs et partages par groupes
Select Case strGroupName
Case "Professeurs,OU=Groupes CWB,DC=CWB,DC=local"
objNetwork.MapNetworkDrive "O:",DBS & strServer & BS & strelev
objNetwork.MapNetworkDrive "P:",DBS & strServer & BS & strdev
Set objExistedossier = CreateObject("Scripting.FileSystemObject")
If not objExistedossier.FolderExists(DBS & strServer & BS & strprof & BS & user) Then
Set objFSO = CreateObject(DBS & strServer & BS & strprof & BS & user)
Set objFolder = objFSO.CreateFolder(DBS & strServer & BS & strprof & BS & user)
End If
objNetwork.MapNetworkDrive "N:",DBS & strServer & BS & strprof & BS & user
objNetwork.MapNetworkDrive "L:",DBS & strServer & BS & strprof & BS & stradmin
Set objExistedossier = CreateObject("Scripting.FileSystemObject")
If not objExistedossier.FolderExists(DBS & strServer & BS & strmat & BS & user) Then
Set objFSO = CreateObject(DBS & strServer & BS & strmat & BS & user)
Set objFolder = objFSO.CreateFolder(DBS & strServer & BS & strmat & BS & user)
End If
objNetwork.MapNetworkDrive "M:",DBS & strServer & BS & strmat & BS & user
Case "Eleves,OU=Groupes CWB,DC=CWB,DC=local"
objNetwork.MapNetworkDrive "M:",DBS & strServer & BS & strmat
objNetwork.MapNetworkDrive "P:",DBS & strServer & BS & strdev
Set objExistedossier = CreateObject("Scripting.FileSystemObject")
If not objExistedossier.FolderExists(DBS & strServer & BS & strelev & BS & user) Then
Set objFSO = CreateObject(DBS & strServer & BS & strelev & BS & user)
Set objFolder = objFSO.CreateFolder(DBS & strServer & BS & strelev & BS & user)
End If
objNetwork.MapNetworkDrive "O:",DBS & strServer & BS & strelev & BS & user
Case "Informatique,OU=Groupes CWB,DC=CWB,DC=local"
objNetwork.MapNetworkDrive "O:",DBS & strServer & BS & strpart
objNetwork.MapNetworkDrive "P:",DBS & strServer & BS & strress
End Select
Next
WScript.Quit |