Script de modification des User dans l'AD - VB/VBA/VBS - Programmation
MarshPosté le 02-04-2009 à 18:10:31
Bonjour,
J'aimerais pour une liste d'users dans l'AD modifier le champ "Nom Affiché" qui est aujourd'hui vide.
J'aimerais afficher "Prénom NOM"
Grosso merdo, j'ai bien compris qu'il fallait faire un agrégat du "givenName" + "sn" dans le "displayName" mais la moulinette qui doit récupérer tous les comptes + modifier la liste récupérée me semble très dur à réaliser ayant des connaissances pitoyable en développement.
Quelqu'un aurait déjà développé un tel script ou du moins quelque chose de ressemblant ? des amateurs pour m'aider ?
Marsh Posté le 02-04-2009 à 18:10:31
Bonjour,
J'aimerais pour une liste d'users dans l'AD modifier le champ "Nom Affiché" qui est aujourd'hui vide.
J'aimerais afficher "Prénom NOM"
Grosso merdo, j'ai bien compris qu'il fallait faire un agrégat du "givenName" + "sn" dans le "displayName" mais la moulinette qui doit récupérer tous les comptes + modifier la liste récupérée me semble très dur à réaliser ayant des connaissances pitoyable en développement.
Quelqu'un aurait déjà développé un tel script ou du moins quelque chose de ressemblant ? des amateurs pour m'aider ?
Merci par avance
j'ai déjà ça comme bout de code si ça peut aider
Modification d'1 compte donné
Const ADS_PROPERTY_UPDATE = 2
Set objUser = GetObject _
("LDAP://cn=myerken,ou=management,dc=fabrikam,dc=com" )
objUser.Put "givenName", "Ken"
objUser.Put "initials", "E."
objUser.Put "sn", "Myer"
objUser.Put "displayName", "Myer, Ken"
objUser.SetInfo
Et ce script pour lister tous les users
On Error Resume Next
Const ADS_SCOPE_SUBTREE = 2
Set objConnection = CreateObject("ADODB.Connection" )
Set objCommand = CreateObject("ADODB.Command" )
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCommand.ActiveConnection = objConnection
objCommand.Properties("Page Size" ) = 1000
objCommand.Properties("Searchscope" ) = ADS_SCOPE_SUBTREE
objCommand.CommandText = _
"SELECT Name FROM 'LDAP://DC=toto,DC=tata,DC=fr' WHERE objectCategory='user'"
Set objRecordSet = objCommand.Execute
objRecordSet.MoveFirst
Do Until objRecordSet.EOF
Wscript.Echo objRecordSet.Fields("Name" ).Value
objRecordSet.MoveNext
Loop
A+
Message édité par Kayanwan le 02-04-2009 à 18:11:43
---------------
www.pixelyoz.com - www.eyeofworld.pixelyoz.com - www.emotionofday.pixelyoz.com - www.footproject.pixelyoz.com