OVH Cloud OVH Cloud

Methode OpenDSObject

1 réponse
Avatar
Yannick SCHAPPLER
Bonjour,

Je rencontre actuellement un probleme assez insurmontable dans l'immédiat.
Je suis resté dessus une bonne partie de l'après-midi hier....

J'ai besoin de créer un compte utilisateur dans une AD.
La création se fait en deux fois :

1. Appel à la methode create et l'initialisation des proprietes telles que
toutes celles qui finissent par name (voir code ci-dessous)
__________________________________________________________________________
Set oContainer = oProvider.OpenDSObject ("LDAP://" & sServeurTDP & "." &
sDomaine & _
"/OU=Utilisateurs,OU=" & sCodeSite & "," & _
sRacine, sLogonAdmin, sMDPAdmin, ADS_SERVER_BIND)

Set oUtilisateur = oContainer.Create("User","CN=" & sNomComplet)

oUtilisateur.Put "samAccountName", sNNI
oUtilisateur.Put "userPrincipalName", sNNI & "@edf.fr"
oUtilisateur.Put "givenName", Fcase (sPrenom)
oUtilisateur.Put "sn", UCase (sNom)
oUtilisateur.Put "displayName", sNomComplet
oUtilisateur.Put "description", sDescription
oUtilisateur.SetInfo
__________________________________________________________________________


2. Initialisation des paramètres du compte utilisateur, après insertion de
celui-ci dans AD (propriete SetInfo précédente), dont voici le code.
_____________________________________________________________________
oUtilisateur.Put "userAccountControl", "512"
oUtilisateur.SetPassword "motpas"
oUtilisateur.Put "PwdLastSet", "0"
oUtilisateur.Put "profilePath", "\\" & sServeurDonneesUtilisateur &
"\Profiles\" & sNNI
oUtilisateur.Put "scriptPath", "Pt2k.cmd"
oUtilisateur.Put "homeDrive", "P:"
oUtilisateur.Put "homeDirectory", "\\" & sServeurDonneesUtilisateur &
"\Users\" & sNNI
oUtilisateur.SetInfo
______________________________________________________________________


Comme vous pouvez le constater, la methode OpenDSObject remplace une methode
GetObject sur l'OU où je souhaite créer mon utilisateur, car je dois pouvoir
effectuer cette création, même depuis une station on un utilisateur simple
est connecté.
Le login et password sont entré via un formulaire HTML (non détaillé ici
pour ne pas alourdir).

Le probleme se pose à la ligne 'oUtilisateur.SetPassword "motpas"'.
Je recois un message de handle non valide (erreur 90070005), plus
généralement, quelle que soit la propriété qui suit après le premier
SetInfo, ce souci revient à chaque fois.


Queslqu'un aurait-il une idée du pourquoi du comment, car je suis plus que
sec sur le sujet !!!!!

Vous remerciant par avance.


Yannick SCHAPPLER

1 réponse

Avatar
SAUTIERE Benoît
Essaie de sauvegarder avec un SetInfo avant de faire ton SetPassword.

Cordialement,

Benoît SAUTIERE

"Yannick SCHAPPLER" wrote in message
news:
Bonjour,

Je rencontre actuellement un probleme assez insurmontable dans l'immédiat.
Je suis resté dessus une bonne partie de l'après-midi hier....

J'ai besoin de créer un compte utilisateur dans une AD.
La création se fait en deux fois :

1. Appel à la methode create et l'initialisation des proprietes telles que
toutes celles qui finissent par name (voir code ci-dessous)
__________________________________________________________________________
Set oContainer = oProvider.OpenDSObject ("LDAP://" & sServeurTDP & "." &
sDomaine & _
"/OU=Utilisateurs,OU=" & sCodeSite & "," & _
sRacine, sLogonAdmin, sMDPAdmin, ADS_SERVER_BIND)

Set oUtilisateur = oContainer.Create("User","CN=" & sNomComplet)

oUtilisateur.Put "samAccountName", sNNI
oUtilisateur.Put "userPrincipalName", sNNI & "@edf.fr"
oUtilisateur.Put "givenName", Fcase (sPrenom)
oUtilisateur.Put "sn", UCase (sNom)
oUtilisateur.Put "displayName", sNomComplet
oUtilisateur.Put "description", sDescription
oUtilisateur.SetInfo
__________________________________________________________________________


2. Initialisation des paramètres du compte utilisateur, après insertion de
celui-ci dans AD (propriete SetInfo précédente), dont voici le code.
_____________________________________________________________________
oUtilisateur.Put "userAccountControl", "512"
oUtilisateur.SetPassword "motpas"
oUtilisateur.Put "PwdLastSet", "0"
oUtilisateur.Put "profilePath", "" & sServeurDonneesUtilisateur &
"Profiles" & sNNI
oUtilisateur.Put "scriptPath", "Pt2k.cmd"
oUtilisateur.Put "homeDrive", "P:"
oUtilisateur.Put "homeDirectory", "" & sServeurDonneesUtilisateur &
"Users" & sNNI
oUtilisateur.SetInfo
______________________________________________________________________


Comme vous pouvez le constater, la methode OpenDSObject remplace une
methode
GetObject sur l'OU où je souhaite créer mon utilisateur, car je dois
pouvoir
effectuer cette création, même depuis une station on un utilisateur simple
est connecté.
Le login et password sont entré via un formulaire HTML (non détaillé ici
pour ne pas alourdir).

Le probleme se pose à la ligne 'oUtilisateur.SetPassword "motpas"'.
Je recois un message de handle non valide (erreur 90070005), plus
généralement, quelle que soit la propriété qui suit après le premier
SetInfo, ce souci revient à chaque fois.


Queslqu'un aurait-il une idée du pourquoi du comment, car je suis plus que
sec sur le sujet !!!!!

Vous remerciant par avance.


Yannick SCHAPPLER