password active directory

password active directory - VB/VBA/VBS - Programmation

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

Reply

Marsh Posté le 28-07-2004 à 11:15:17   

Reply

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.


Message édité par dividee le 28-07-2004 à 12:34:34
Reply

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

Reply

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


Message édité par dividee le 28-07-2004 à 16:44:25
Reply

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

Reply

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.

Reply

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

Reply

Marsh Posté le 28-07-2004 à 17:51:09    

ton serveur c'est un 2000 ou 2003 ? Tu as bien utilisé le script approprié ?

Reply

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


Message édité par dividee le 28-07-2004 à 18:02:11
Reply

Marsh Posté le 28-07-2004 à 18:06:51    

je connecter en administrateur et c'est une machine en 2000

Reply

Marsh Posté le 28-07-2004 à 18:06:51   

Reply

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

Reply

Marsh Posté le 29-07-2004 à 10:48:11    

merci mais cela ne fonctionne toujours pas fait cjier la je craque

Reply

Marsh Posté le 29-07-2004 à 11:16:20    

Désolé je peux pas t'aider [:airforceone]
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...

Reply

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

Reply

Marsh Posté le 29-07-2004 à 14:11:40    

Une idée comme ça: essaie de remplacer les Trustees par leur SID:


arrTrustees = Array("S-1-5-10", "S-1-1-0" )
au lieu de
arrTrustees = Array("NT AUTHORITY\Self", "Everyone" )

Reply

Marsh Posté le 30-07-2004 à 09:50:40    

Ca marche merci

Reply

Sujets relatifs:

Leave a Replay

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