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
| Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
On Error Resume Next
Dim objCon, strQuery, strADSPath, objUser, objrecset, lstListe 'Déclaration des variables
Dim itmX As ListItem, Interm As String, Date_Contrôle As String
Dim Ecart_Date
strQuery = "SELECT cn, adspath FROM 'LDAP://ou=Users,ou=France,ou=Regions,dc=eu,dc=global,dc=ad' WHERE objectclass='User' AND objectcategory='Person'" 'Définition de la requête à exécuter
objrecset = objCon.Execute(strQuery) 'Exécution de la requête
Do While Not objrecset.EOF 'Boucle dans le recordset jusqu'à la fin du tableau
objUser = GetObject(objrecset.Fields("adspath").Value) 'Connexion à l'objet utilisateur par le biais de son adspath
Interm = Format(objUser.LastLogin, "dd-mm-yy") 'Récupération de la propriété "lastlogin" et formattage de type "jj-mm-aa"
Ecart_Date = DateDiff("y", Interm, Date_Contrôle) 'Calcul du nombre de jours entre la dernière connexion et la date du jour
If Ecart_Date >= 30 Then 'Si l'écart de date est supérieur à 30 jours :
itmX = lstListe.ListItems.Add(, , objrecset.Fields("cn").Value) 'Ajoute le common name à la liste
itmX.SubItems(1) = Interm 'Affichage de la date de dernière connexion dans la seconde colonne
itmX.SubItems(2) = Ecart_Date & " jours" 'Affichage du nombre de jours sans connexion
End If
objrecset.movenext() 'passe à l'enregistrement suivant
Loop
objCon.Close() 'ferme la connexion à l'Active Directory
End Sub
End Class |
Partager