Page 1 sur 1
[R] Aide return code UDF AD
Posté : mer. 21 sept. 2016 15:14
par Faco
Bonjour bonjour,
J'utilise l' UDF AD et il me retourne des codes du genre : -2147352567. Pas très parlant....
J'ai bien compris que c'est le retour des fonctions PutEx ou SetInfo mais je n'arrive pas à trouver la correspondance de se code erreur.
Si des gens on déjà jouer avec cet UDF ...
_AD_GetObjectProperties : ça passe
_AD_ModifyAttribute : Return code '-2147352567' from Active Directory
Merci ++
Re: [..] Aide return code UDF AD
Posté : jeu. 22 sept. 2016 14:06
par Yogui
Bonjour,
l'explication doit se trouver par ici :
https://www.autoitscript.com/forum/topi ... rt/?page=3
un petit exemple perso fonctionnel sur un AD niveau de fonctionnalité AD 2008 :
► Afficher le texte
#include <AD.au3>#include <GUIConstantsEx.au3>#include <WindowsConstants.au3>#Region ;**** Directives created by AutoIt3Wrapper_GUI ****#AutoIt3Wrapper_outfile=..\..\Bureau\Créationutils.exe#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****_AD_Open
()Global $Fonction, $machine, $ADELI, $RPPS, $datefin = '', $datedeb = '',$date$Form1_1 = GUICreate("Création Utilisateur", 519, 672, 192, 124)$Group1 = GUICtrlCreateGroup("Choisir service :", 32, 16, 457, 73)$IOU = GUICtrlCreateCombo("IOU", 56, 48, 409, 25)GUICtrlCreateGroup("", -99, -99, 1, 1)$Group2 = GUICtrlCreateGroup("Information : ", 32, 96, 457, 137)$PRENOM = GUICtrlCreateLabel("Prenom :", 56, 112, 49, 17)$IPRENOM = GUICtrlCreateInput("", 208, 112, 257, 21)$NOM = GUICtrlCreateLabel("Nom :", 56, 144, 32, 17)$IMON = GUICtrlCreateInput("", 208, 144, 257, 21)$No = GUICtrlCreateLabel("Nom complet :", 56, 176, 72, 17)$INOMCOMP = GUICtrlCreateInput("", 208, 176, 257, 21)$Label7 = GUICtrlCreateLabel("Genre", 56, 208, 36, 17)$IGENRE = GUICtrlCreateCombo("Monsieur", 208, 208, 257, 25)GUICtrlSetData(-1, "Madame|Mademoiselle")GUICtrlCreateGroup("", -99, -99, 1, 1)$Group3 = GUICtrlCreateGroup("Identifiant :", 32, 248, 457, 65)GUICtrlCreateLabel("Utilisateur logon : ", 56, 272, 88, 17)$ILOGON = GUICtrlCreateInput("", 208, 272, 257, 21)GUICtrlCreateGroup("", -99, -99, 1, 1)$group4 = GUICtrlCreateGroup("Mot de passe : ", 32, 328, 457, 65)$Label1 = GUICtrlCreateLabel("Mot de passe : ", 56, 352, 77, 17)$IMDP = GUICtrlCreateInput("", 208, 352, 257, 21)GUICtrlCreateGroup("", -99, -99, 1, 1)$Group5 = GUICtrlCreateGroup("Autres Informations :", 32, 408, 457, 153)$Label2 = GUICtrlCreateLabel("Description : ", 56, 440, 66, 17)$Label3 = GUICtrlCreateLabel("Bureau : ", 56, 469, 47, 17)$Label5 = GUICtrlCreateLabel("Téléphone : ", 56, 499, 64, 17)$Label6 = GUICtrlCreateLabel("E.Mail", 56, 528, 33, 17)$IDESC = GUICtrlCreateInput("", 208, 440, 257, 21)$IBUR = GUICtrlCreateInput("", 208, 469, 257, 21)$ITEL = GUICtrlCreateInput("", 208, 499, 257, 21)$IMEL = GUICtrlCreateInput("", 208, 528, 257, 21)GUICtrlCreateGroup("", -99, -99, 1, 1)$BOK = GUICtrlCreateButton("Créer utilisateur", 405, 584, 83, 25, $WS_GROUP)GUISetState(@SW_SHOW)#EndRegion ### END Koda GUI section ###_listOU
()While 1 $nMsg = GUIGetMsg() Select Case $nMsg = $GUI_EVENT_CLOSE _AD_Close
() Exit Case $nMsg = $BOK If GUICtrlRead($IOU) = "" Then MsgBox(48, "Attention", "Merci de selectionner un OU") ElseIf GUICtrlRead($IPRENOM) = "" Then MsgBox(48, "Attention", "Le prénom est Obligatoire") ElseIf GUICtrlRead($IMON) = "" Then MsgBox(48, "Attention", "Le nom est Obligatoire") ElseIf GUICtrlRead($INOMCOMP) = "" Then MsgBox(48, "Attention", "Le Nom complet est Obligatoire") ElseIf GUICtrlRead($ILOGON) = "" Then MsgBox(48, "Attention", "Le Logon est Obligatoire") ElseIf GUICtrlRead($IMDP) = "" Then MsgBox(48, "Attention", "Le Mot de passe est Obligatoire") EndIf _newusers
() EndSelectWEndFunc _newusers
() Global $aOUs = _AD_GetAllOUs
() $sOU = GUICtrlRead($IOU) $sUser = GUICtrlRead($ILOGON) $nomaffiche = GUICtrlRead($IMON) & " " & GUICtrlRead($IPRENOM) For $i = 1 To $aOUs[0][0] Step 1 If $aOUs[$i][0] = GUICtrlRead($IOU) Then $sOU = $aOUs[$i][1] EndIf Next $iValue = _AD_CreateUser
($sOU, $sUser, GUICtrlRead($ILOGON)) If $iValue = 1 Then MsgBox(64, "Information", "l'Utilisateur '" & $sUser & "' à bien été créé dans : '" & $sOU) ElseIf @error = 1 Then MsgBox(64, "Information", "l'Utilisateur '" & $sUser & "' existe déjà") Return ("") ElseIf @error = 2 Then MsgBox(64, "Information", "l'OU '" & $sOU & "' n'hesite pas") Return ("") ElseIf @error = 3 Then MsgBox(64, "Information", "Value for CN (e.g. Lastname Firstname) is missing") Return ("") ElseIf @error = 4 Then MsgBox(64, "Information", "Value for $sAD_User is missing") Return ("") Else MsgBox(64, "Information", "Erreur '" & @error & "' retournée par l'AD") Return ("") EndIf If GUICtrlRead($IDESC) <> "" Then $iValue = _AD_ModifyAttribute
($sUser, "description", GUICtrlRead($IDESC)) EndIf If GUICtrlRead($IMEL) <> "" Then $iValue = _AD_ModifyAttribute
($sUser, "mail", GUICtrlRead($IMEL)) EndIf If GUICtrlRead($ITEL) <> "" Then $iValue = _AD_ModifyAttribute
($sUser, "TelephoneNumber", GUICtrlRead($ITEL)) EndIf If GUICtrlRead($IBUR) <> "" Then $iValue = _AD_ModifyAttribute
($sUser, "department", GUICtrlRead($IBUR)) EndIf $iValue = _AD_ModifyAttribute
($sUser, "givenName", GUICtrlRead($IPRENOM)) $iValue = _AD_ModifyAttribute
($sUser, "sn", GUICtrlRead($IMON)) $iValue = _AD_ModifyAttribute
($sUser, "displayName", GUICtrlRead($INOMCOMP)) $iValue = _AD_SetPasswordExpire
($sUser, -1) $iValue = _AD_AddUserToGroup
("HDPMB", $sUser) $iValue = _AD_SetPassword
($sUser, GUICtrlRead($IMDP)) If @error = 1 Then MsgBox(64, "Information", "Erreur '" & @error & "' retournée par l'AD") EndIfEndFunc ;==>_newusersFunc _clean
() GUICtrlSetData($IBUR, "") GUICtrlSetData($IDESC, "") GUICtrlSetData($ILOGON, "") GUICtrlSetData($IMDP, "") GUICtrlSetData($IMEL, "") GUICtrlSetData($IMON, "") GUICtrlSetData($INOMCOMP, "") GUICtrlSetData($IPRENOM, "") GUICtrlSetData($ITEL, "")EndFunc ;==>_cleanFunc _listOU
() Local $listecombo Global $aOUs = _AD_GetAllOUs
() If @error > 0 Then MsgBox(64, "Erreur", "Impossible de joindre l'AD") Else For $i = 1 To $aOUs[0][0] Step 1 $tempo = StringSplit($aOUs[$i][0], "\") $listecombo = $listecombo & "|" & $aOUs[$i][0] Next EndIf GUICtrlSetData($IOU, $listecombo)EndFunc ;==>_listOU
bonne journée
Re: [..] Aide return code UDF AD
Posté : jeu. 22 sept. 2016 15:14
par Faco
Re,
Merci pour la réponse, ça ma permis de persévérer et de voir que je suis un gros nœud....
Copier coller à la c**
Sorry pour le dérangement.
++