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
Mon érreur est en ligne 15
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
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
Partager