bonjour a tous,

Mon objectif est chaque utilisateur de l'AD dont le compte expire dans un mois soit prévenu soit prévenu du nombre de jour qu'il lui reste avant que son compte soit désactivé!

voici mon code

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
 
Set WshNet = CreateObject("WScript.Network")
User = WshNet.Username
 
Set objDSE = GetObject("LDAP://nomduserdns.nomdudomaine.local/dc=nomdudomaine,dc=local" )'(est ce bien la bonne facon de le noter?)
set oConnection = CreateObject("ADODB.Connection" )
oConnection.Provider = "ADsDSOObject"
oConnection.Open "ADs Provider"  
 
' ci dessous le filtre sur le login utilisateur  
sFilter = "(&(objectclass=user)(samaccountname=" & User & " ))"
 
' dans cette ligne, on défini les paramètres récupéré : ici AccountExpirationDate
' c'est celle ci que vous pouvez modifier en fonction des paramètres ADSI à récupérer (paramètre avant subtree, séparé par des virgules)
 
sQuery = "LDAP://nomduserdns.nomdudomaine.local/dc=nomdudomaine,dc=local" & objDSE.Get("defaultNamingContext") & ">;" & sFilter & ";distinguishedName;subtree"
Set oRecordSet = oConnection.Execute(sQuery)
 
' on inscrit le cn dans une variable, et voilà
 
usrCN = oRecordset.Fields("distinguishedName").value
Set objUser = GetObject (usrCN)
 
dtmAccountExpiration = objUser.AccountExpirationDate
 
If Err.Number <> -2147467259 Or dtmAccountExpiration <> "1/1/1970" Then
    MsgBox "Votre compte expire le : " & objUser.AccountExpirationDate, vbExclamation, "Avertissement"
End If
Mon érreur est en ligne 15

la propiété n'est pas présente dans le cache

je pense que l'erreur viens du fait que soit le scrypte n'arrive pas a chercher l'information demande, soit elle est mal traité apres avoir été récupéré!

merci a ceux qui peuvent m'aider