password active directory - VB/VBA/VBS - Programmation
Marsh Posté le 28-07-2004 à 12:34:13
Je pense pas que ce soit possible. Normalement le password n'est pas enregistré dans AD mais un hash de celui-ci, impossible donc de le récupérer.
Il y a bien l'option "Store password using reversible encryption" mais même ainsi, je doute qu'il y ait moyen de le récupérer par LDAP. L'attribut s'appelle unicodePwd, mais il n'est possible que de l'écrire, pas de le lire.
Marsh Posté le 28-07-2004 à 14:32:55
Sinon je veux que mon mot de passe ne change pas et n'expire voici mon code et cela ne fonctionne pas
user.AccountDisabled = False
flag = user.Get("UserAccountControl" )
flag= flag OR "&H00010000"
flag = flag OR "&H40"
user.Put "userAccountControl",flag
user.SetInfo 'enregistrement
Marsh Posté le 28-07-2004 à 16:42:24
Ton script fonctionne pour que le mot de passe n'expire pas mais pas pour empêcher de le modifier... Le flag &H40 est ignoré...
Pour ça il faut aller modifier une ACL de l'objet. Sous Windows 2000, c'est pas évident...
Le script est là: http://www.microsoft.com/technet/c [...] rug29.mspx
EDIT: correction de l'URL
Marsh Posté le 28-07-2004 à 17:17:03
comment je fais pour executer le script quand je l'executé seul il me mais une référence a été renvoyée pour le serveur
Marsh Posté le 28-07-2004 à 17:26:28
Je comprends pas ta description du problème...
Le script fonctionne, il suffit de changer la ligne qui commence par "Set objUser = " pour pointer sur un objet utilisateur de AD.
Marsh Posté le 28-07-2004 à 17:40:12
une fois que j'ai changer l'utilisateur et la me dit structure d'id de sécurité non valide
Marsh Posté le 28-07-2004 à 17:51:09
ton serveur c'est un 2000 ou 2003 ? Tu as bien utilisé le script approprié ?
Marsh Posté le 28-07-2004 à 18:01:04
sinon c'est peut-être un problème de droit? La station est-elle enregistrée dans le domaine et es-tu loggé dessus ? Sinon essaie d'exécuter le script directement sur le contrôleur de domaine
Marsh Posté le 28-07-2004 à 18:06:51
je connecter en administrateur et c'est une machine en 2000
Marsh Posté le 28-07-2004 à 18:33:43
Je sais pas trop... Les références à ce problème sur le net semblent tourner autour de la résolution du nom des trustees en SID.
par exemple: http://groups.google.be/groups?hl= [...] google.com
Marsh Posté le 29-07-2004 à 10:48:11
merci mais cela ne fonctionne toujours pas fait cjier la je craque
Marsh Posté le 29-07-2004 à 11:16:20
Désolé je peux pas t'aider
Si qq'un a la solution, ou si tu la trouves, ça m'intéresse aussi, je pourrais être confronté au même problème...
Marsh Posté le 29-07-2004 à 11:44:52
j'ai tout changer comme il faut enfin pour moi et l'ereur vient de la ligne avec nTSecurityDescriptor
Marsh Posté le 29-07-2004 à 14:11:40
Une idée comme ça: essaie de remplacer les Trustees par leur SID:
|
Marsh Posté le 28-07-2004 à 11:15:17
Salut
Je cherche a connaitre les password utilisateur dans l'active directory en vbscript
un truc du style peut etre
Set objConnection = CreateObject("ADODB.Connection" )
objConnection.Open "Provider=ADsDSOObject;"
Set objCommand = CreateObject("ADODB.Command" )
objCommand.ActiveConnection = objConnection
objCommand.CommandText = _
"<LDAP://ou=eleves,dc=local>;" & _
"(&(objectCategory=person)(objectClass=user));" & _
"name,sn,givenName,pwdGet;onelevel"
Set objRecordSet = objCommand.Execute
While Not objRecordset.EOF
Wscript.Echo objRecordset.Fields("name" )
Wscript.Echo objRecordset.Fields("sn" )
Wscript.Echo objRecordset.Fields("givenName" )
Wscript.Echo objRecordset.Fields(password)
objRecordset.MoveNext
Wend
objConnection.Close