[Résolu][AD/2000] Changer les mots de passe de plusieurs comptes

Changer les mots de passe de plusieurs comptes [Résolu][AD/2000] - Windows & Software

Marsh Posté le 21-06-2006 à 16:21:45    

Je suis sûr que quelqu'un a ce que je cherche sous le coude :D
 
J'ai un domaine AD sous Win2000. Il s'agit d'une plateforme de formation, sur laquelle j'ai notamment un ensemble de 60 utilisateurs, qui ont été créés il y a quelques semaines avec l'outil ADDUSERS.  
 
Aujourd'hui, ils doivent réutiliser leurs comptes, et tous les mots de passe doivent être réinitialisés car ils ont expirés.
Etant d'un naturel femmard (si si çai vrai :D ), je me vois mal réinitialiser les comptes un par un.
 
Avez-vous un outil ou un script qui me permettrait de changer les mots de passe de tous ces utilisateurs d'un seul coup ? (en partant d'un fichier texte contenant les logins et les nouveaux mots de passe).
 
Thanks :)


Message édité par Wolfman le 23-06-2006 à 11:42:53
Reply

Marsh Posté le 21-06-2006 à 16:21:45   

Reply

Marsh Posté le 21-06-2006 à 16:47:27    

Reply

Marsh Posté le 21-06-2006 à 17:16:10    

Merci ;)
Je vais essayer le Tools4Ever. Les autres semblent plutôt être pour les comptes locaux des machines.
Si quelqu'un d'autre à une idée, foncez :D

Reply

Marsh Posté le 21-06-2006 à 17:27:28    

Bon, j'ai regardé Tools4Ever, et ça a l'air d'être un truc assez puissant. Et comme je n'ai pas trop de temps à m'y attarder, et que je veux éviter les bourdes, je vais passer...
 
Donc si quelqu'un a une meilleure solution ;)

Reply

Marsh Posté le 21-06-2006 à 17:41:29    

Peut en regardant du coté des script vb en utilisant ADO par exemple en ouvrant un recordset sur "ADSDSOObject".
 
en quelques lignes cela pourrait être fait (c'est une supposition), j'avais chopé çà comme exemple sur le net (voir ici.
 

Code :
  1. Dim X as IADs
  2. Dim con As New Connection, rs As New Recordset
  3. Dim MyUser As IADsUser
  4. con.Provider = "ADsDSOObject"
  5. con.Open "Active Directory Provider", "CN=Test,CN=Users,DC=Fabrikam,DC=COM,O=INTERNET", "Password"
  6. Set rs = con.Execute("<LDAP://MyMachine/DC=MyDomain,DC=Fabrikam,DC=com>;(objectClass=User);ADsPath;onelevel" )
  7. While Not rs.EOF
  8.     ' Bind to the object to make changes
  9.     ' to it because ADO is currently read-only.
  10.     MyUser = GetObject(rs.Fields(0).Value)
  11.     MyUser.AccountDisabled = True
  12.     MyUser.SetInfo
  13.     rs.MoveNext
  14. Wend


 
Doit bien y avoir le flag pour reset les mdp dans l'objet IADsUser ?

Reply

Marsh Posté le 23-06-2006 à 11:42:35    

Finalement j'ai réussi à faire ma soupe grâce à la commande DSMOD de Win2003. Un petit fichier batch bien fait avec Excel, et zou ;)

Reply

Marsh Posté le 23-06-2006 à 17:19:45    

Tu veux bien partager ton script avec nous ?
 
Sidewinder

Reply

Marsh Posté le 23-06-2006 à 18:59:09    

C'est un peu un faux script... :whistle:
(NB: je fais de l'administration système et réseau, mais je suis une grosse brelle en terme de scripts :D )
 
J'ai simplement utilisé la commande dsmod (http://www.computerperformance.co.uk/Logon/DSadd_DSmod_DSrm.htm) , avec une ligne de commande par utilisateur. J'ai utilisé Excel et la fonction "concatener" pour générer rapidement les lignes de commande.

Reply

Marsh Posté le 23-06-2006 à 20:04:27    

Salut,
Tu peux toujours faire une boucle for avec cela:
 
Set objUser = GetObject("LDAP://cn=Nom User,ou=Nom OU,dc=Nom domaine,dc=com" )
objUser.ChangePassword "Ancien Pass", "New Pass"  
 
@++

Reply

Marsh Posté le 13-05-2008 à 16:02:05    

ou se trouvent les mots de passe dans active directory?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed