1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
|
Private Sub Sub_Test()
Dim Str_ADsPath As String
Dim objDSO As IADsOpenDSObject ' Objet de
connexion au domaine sélectionné (vérification des identifiants)
Dim Container As IADsContainer ' Objet de
connexion au domaine sélectionné (vérification des identifiants)
Dim objuser As IADsUser ' Objet utilisateur ADSI
Dim uid_adm_win_AD As String
Dim cpt_search As String
Dim Str_New_PassWord As String
Dim Str_Retour As String
Dim i As Integer
cpt_search = "T0001041"
uid_adm_win_AD = "AREA01\" & cpt_search
pwd_adm_win_AD = "ancien_motdepasse"
Str_New_PassWord = "nouveau_motdepasse"
Str_ADsPath = "LDAP://monserverActiveDirectory:636"
Set objDSO = GetObject("LDAP:") ' On établi la connexion au domaine
Set Container = objDSO.OpenDSObject(Str_ADsPath, _
uid_adm_win_AD, _
pwd_adm_win_AD, _
ADS_SECURE_AUTHENTICATION +
ADS_USE_SSL) ''''''''' LA POP-UP APPARAIT
Str_Retour = Fct_Parcours(Container, "CN=" & cpt_search, objuser)
' modification du mot de passe
objuser.ChangePassword pwd_adm_win_AD, Str_New_PassWord
' '''''''' LA POP-UP APPARAIT
objuser.SetInfo
Set objuser = Nothing
Set Container = Nothing
Set objDSO = Nothing
End Sub
Private Function Fct_Parcours(Container As Object, ByRef Str_Recherche
As String, Obj_Usr As IADsUser)
Dim Obj_S As IADs
Dim Str_Emplacement As String
For Each Obj_S In Container
If Str_Emplacement = "" Then
If UCase(Obj_S.Name) = Str_Recherche Then
Set Obj_Usr = Obj_S
Str_Emplacement = Obj_S.distinguishedName
Else
Str_Emplacement = Fct_Parcours(Obj_S, Str_Recherche,
Obj_Usr)
End If
End If
Next Obj_S
Fct_Parcours = Str_Emplacement
End Function |
Partager