Dim varCodeRetour, varMessageErreur varCodeRetour = RenommerCNObjetAD("CN=NomObjet,CN=Users,DC=mydomain,DC=local","NouveauNomObjet",varMessageErreur) If varCodeRetour <> 1 Then Wscript.echo "Erreur : " & varMessageErreur Public Function RenommerCNObjetAD(ByVal CheminLDAPObjetAD, ByVal NouveauNom, ByRef ErreurDesc) 'Version du 25/09/2009 'En entrée : 'CheminLDAPObjetAD : attend une chaine du type : CN=NomDeLobjet,OU=MonOU,Dc=Mon,DC=Domaine,DC=Com 'NouveauNom : nouveau nom de l'objet. Exemple : LeNouveauNom 'ErreurDesc : Si il y a une erreur, cette variable retourne sa description 'Retourne 1 si le CN de l'objet AD a été modifié 'Retourne 0 si non Dim NumeroErreur Dim objAD Dim ObjParent Dim OldsAMAccountName RenommerCNObjetAD = 0 If (Len(CheminLDAPObjetAD) > 0) Then 'Connexion a l objet Err.Clear On Error Resume Next Set objAD = GetObject("LDAP://" & CheminLDAPObjetAD) NumeroErreur = Err.Number ErreurDesc = "Impossible de se connecter a l objet." On Error GoTo 0 If (NumeroErreur = 0) Then 'Connexion à l 'objet parent de l objet Err.Clear On Error Resume Next Set ObjParent = GetObject(objAD.Parent) NumeroErreur = Err.Number ErreurDesc = "Impossible de se connecter au parent de l objet." On Error GoTo 0 If (NumeroErreur = 0) Then 'Renommage du CN de l objet Err.Clear On Error Resume Next Call ObjParent.MoveHere("LDAP://" & objAD.distinguishedName, "cn=" & NouveauNom) NumeroErreur = Err.Number 'ErreurDesc = "Impossible de renommer le CN de l objet." ErreurDesc = "Impossible de renommer le CN de l objet : " & Err.Desciption On Error GoTo 0 If (NumeroErreur = 0) Then RenommerCNObjetAD = 1 ErreurDesc = "" End If Set ObjParent = Nothing End If 'If (NumeroErreur = 0) Then End If 'If (NumeroErreur = 0) Then Else ErreurDesc = "Le chemin d acces a l objet est vide" End If 'If (Len(CheminLDAPObjetAD) > 0) Then End Function