creation de user dans LDAP
Bonjour,
je sais que la question a ete posé plusieurs fois mais là je rame completement !
voila la situation :
mon script doit être adaptable sur n'importe quel AD, sans connaitre le nom de domaine par avance, donc je récupere le nom de domaine que je veux appliquer a mon script qui est le suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| ADS_UF_DONT_EXPIRE_PASSWD = &H10000
Set WshNetwork = WScript.CreateObject("WScript.Network")
Domaine = WshNetwork.UserDomain
set utilisateur = ToTo
set serveur = WshProcessEnv("COMPUTERNAME") 'je recupere le nom du serveur
Set conteneur = GetObject("LDAP://" & serveur , "DC=" & Domaine)
Set utilisateur = conteneur.Create("user", "CN=" & nomUtilisateur)
utilisateur.Put "description","Detail de mon user"
utilisateur.SetInfo
utilisateur.SetPassword "mot2P@sse"
utilisateur.Put "userAccountControl",ADS_UF_DONT_EXPIRE_PASSWD
utilisateur.SetInfo |
mes questions :
- est-ce que ma ligne
Code:
Set conteneur = GetObject("LDAP://" & serveur , "DC=" & Domaine)
est correcte ?
- pourquoi à votre avis la fonction pour le mot de passe qui ne doit pas expirer ne fonctionne pas ?
- a quoi sert exactement utilisateur.SetInfo ?
ben entendu, c'est set utilisateur = "ToTo"
ca non plus ca ne marche pas..
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| Option Explicit
Dim objRootLDAP, objContainer, objUser, objShell
Dim strUser, strName, strContainer
strUser = "toto"
strContainer = "OU=users ,"
' Bind to Active Directory, Users container.
Set objRootLDAP = GetObject("LDAP://nomduserveur")
Set objContainer = GetObject("LDAP://" & strContainer & objRootLDAP.Get("defaultNamingContext"))
' Build the actual User.
Set objUser = objContainer.Create("User", "cn=" & strUser)
objUser.Put "sAMAccountName", strUser
objUser.SetInfo
WScript.Quit |