Changement de profil

Pourquoi ?

Lorsqu'on déplace les profils vers un nouveau serveur, pour répartir la charge réseau par exemple, il faut changer tous les chemins des profils des utilisateurs.


Principe :

Obtenir la listes des utilisateurs dont on veut changer le chemin du profil (ici le groupe élèves) et changer le chemin du profil.

Les informations du domaine sont récupérés par le script. Le groupe est également recherché dans tout AD.


'-------------------------------------------------------------------------------
' Modification des informations perso d'un utilisateur dans AD
' V 0.1 pierre choffardet LPR Voillaume 04/05/06
' V 0.2 recherche des informations du domaine et du groupe dans AD
'------------------------------------------------------------------------------
Option Explicit
DIM objGroup, objUser
Dim arrMemberOf, strMember, strCurrentProfilePath, strNewProfilePath
Dim temp1,temp2, user
CONST grpName="eleves" 'nom du groupe à mettre à jour
Dim ORootDSE, DomaineLdap
Set ORootDSE = GetObject("LDAP://rootDSE")
DomaineLdap=ORootDSE.GET("defaultNamingContext")

Dim Oconnexion, Ocmd, PDepart, Condiremplir, Recuperer, dnGRP, Oresult
Set Oconnexion=CreateObject("ADODB.Connection")
Oconnexion.open "Provider=ADsDSOObject;"
Set Ocmd = CreateObject("ADODB.Command")
Ocmd.ActiveConnection=Oconnexion

PDepart = "<LDAP://"&DomaineLdap&">"
Condiremplir= "(&(objectcategory=group)(samAccountName="&grpName&"))"
Recuperer ="distinguishedname"
OCmd.Commandtext=PDepart&";"&CondiRemplir&";"&Recuperer&";subtree"
Set Oresult=OCmd.Execute
dnGRP = Oresult.Fields("distinguishedname")

'le groupe eleves se trouve dans le contenaire users du domaine voillaume.local
Set objGroup = GetObject ("LDAP://"&dnGRP)
objGroup.GetInfo

arrMemberOf = objGroup.GetEx("member")

For Each strMember in arrMemberOf
WScript.echo "Utilisateur : "&strMember
Set objUser = GetObject("LDAP://"&strMember)
strCurrentProfilePath = objUser.Get("profilePath")
temp1=split(strMember,",")
temp2=split(temp1(0),"=")
user = temp2(1)
wscript.echo "Traitement de : "& user
strNewProfilePath = "\\voillaume\dfs\profilsnt\" & user
objUser.Put "profilePath", strNewProfilePath
objUser.Put "homeDrive", "Y:"
objUser.put "homeDirectory", "\\srv-indus-2003\profils9X"
' si l'on souhaite mettre à jour les propriétés titre et Service de l'onglet Organisation
'objUser.Put "title" , grpName
'objUser.Put "departement" , classe
objUser.SetInfo
Next