bonjour,
il ya quelque temps j'avais demande de l'aide pour un script qui renvoie la date d'expiration de compte de l'utilisateur si il y en as une.
ce script fonctionnait
j'ai voulu le modifier pour qu il commence a renvoyer la date seulement 30 jours avant la fin de l'expiration
jusque la ca va.
la ou ca se complique c'est qu'en utilisant le meme script avec different utilisateur, j'obtiens des resultats completement different.
avec mon compte admin du domaine, ca fonctionne tout le temps, n'affiche pas de message si je n'ai pas de date de desactivation ou si elle est dans plus d'un mois, en gros il m'affiche la date d'expiration seulement si elle est dans moins de 31 jours.
par contre avec d'auutres utilisateurs, les resultats sont completement aleatoire.
affichage de la date du 01/01/1970 ou 01/01/1601 pour l'expiration du compte, ou bien meme un message qui me dis
objrequis "objuser"
code : 800A01A8
ligne 29
voici le code
merci d'avance a ceux qui peuvent m'aider
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
30
31
32
33
34
35
36
37
38
39
40 Set objConnection = CreateObject("ADODB.Connection") Set objCommand = CreateObject("ADODB.Command") objConnection.Provider = "ADsDSOObject" objConnection.Open "Active Directory Provider" Set objCommand.ActiveConnection = objConnection objCommand.Properties("Page Size") = 1000 objCommand.Properties("Searchscope") = 2 Set WshNet = CreateObject("WScript.Network") User = WshNet.Username strUser = User objCommand.CommandText = "SELECT Name, ADsPath FROM 'LDAP://dc=mjs,dc=local' where name='" & strUser & "*' and objectCategory='user'" Set objRecordSet = objCommand.Execute If objRecordSet.RecordCount > 0 Then ' on inscrit le cn dans une variable, et voilà usrCN = objRecordSet.Fields("ADsPath").Value Set objUser = GetObject (usrCN) End If dim dtmAccountExpiration dtmAccountExpiration = objUser.AccountExpirationDate If dtmAccountExpiration <> "01/01/1601 01:00:00" Then A = dtmAccountExpiration - date ' A est la variable qui fait la difference entre les deux date (elle est inferieur ou superieur a 30) If A < 31 Then MsgBox "Votre compte expire le : " & objUser.AccountExpirationDate, vbExclamation, "Avertissement" End If End If
Partager