bonjour, voici mon probleme
j'ai fait un petit script qui me permet de trouver des comptes ayant une date d'expiration
concernant l'affichage de service, nologin, displayname,chemin LDAP aucun probleme, par contre pour afficher la date de l'expiration du compte impossibilite bien sur tout ca dans un fichier

voici mon script, merci pour votre aide


'========================
'Option Explicit

Dim dtmAdjusted, lngSeconds, str64Bit, dtmDateValue
Dim objShell, lngBiasKey, lngBias, k
Dim objRootDSE, strDNSDomain, objConnection, objRecordset
Dim strBase, strFilter, strAttributes, strQuery, strDN, strFileName

dtmDateValue = #02/11/2008#

' Obtain local Time Zone bias from machine registry.
Set objShell = CreateObject("Wscript.Shell")
lngBiasKey = objShell.RegRead("HKLM\System\CurrentControlSet\Control\" _
& "TimeZoneInformation\ActiveTimeBias")
If UCase(TypeName(lngBiasKey)) = "LONG" Then
lngBias = lngBiasKey
ElseIf UCase(TypeName(lngBiasKey)) = "VARIANT()" Then
lngBias = 0
For k = 0 To UBound(lngBiasKey)
lngBias = lngBias + (lngBiasKey(k) * 256^k)
Next
End If

' Convert current date/time value to UTC.
dtmAdjusted = DateAdd("n", lngBias, dtmDateValue)


' Find number of seconds since 1/1/1601.
lngSeconds = DateDiff("s", #1/1/1601#, dtmAdjusted)

' Convert the number of seconds to a string
' and convert to 100-nanosecond intervals.
str64Bit = CStr(lngSeconds) & "0000000"


' Determine DNS domain name.
Set objRootDSE = GetObject("LDAP://rootDSE")
strDNSDomain = objRootDSE.Get("defaultNamingContext")

' Use ADO to search Active Directory.
Set objConnection = CreateObject("ADODB.Connection")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objRecordset = CreateObject("ADODB.Recordset")
objRecordset.ActiveConnection = objConnection

' cherche domaine.
strBase = "<LDAP://" & strDNSDomain & ">"



' Filtre expiration de compte.
strFilter = "(& (objectCategory=person)(objectClass=user)" _
& "(accountExpires<=" & str64Bit & ")(!accountExpires=0))"


'--- search for object in AD ---
On Error Resume Next

Set objUser = GetObject _
("LDAP://rootDSE")

dtmAccountExpiration = objUser.AccountExpiration

If Err.Number = -2147467259 Or dtmAccountExpiration = #1/1/1601# Then
'WScript.Echo "No account expiration date specified"
Else
'WScript.Echo "Account expiration date: " & objUser.AccountExpiration -1
End If



' Retrieve Distinguished Names.
strAttributes = "distinguishedName,department,name,displayName,dtmaccountExpiration"',accountexpires"


' Use ADO to query AD.
strQuery = strBase & ";" & strFilter & ";" & objectClass & "," & strAttributes & ";subtree"
objRecordset.Source = strQuery
objRecordset.Open

'Declaration des constantes pour gérer les fichiers resultats et sauvegardes
Repsource ="d:\"
RepDest ="d:\essai\"
filename ="test.txt"

'Verification de l'existance du fichier
Set fso = CreateObject("Scripting.FilesystemObject")

If (fso.fileExists (filename)) Then
'Sauvegarde du fichier tous les jours
fso.Copyfile filename, RepDest
Set f = fso.OpenTextFile (filename,2)
Else
Set f = fso.CreateTextFile(filename)
End If

' Enumerate expired user accounts.
Do Until objRecordSet.EOF
strDN = objRecordSet.Fields("distinguishedName")
StrDP = objRecordset.Fields("department")
STRNA = objRecordset.Fields("name")
strDD = objRecordset.Fields("displayName")
strAE = objrecordset.fields("dtmAccountExpiration")
'STREX = objRecordset.Fields("AccountExpires")
'WScript.Echo strDp
f.write strdp & ";" & strna & ";" & strDD & ";" & strAE & ";" & strdn & vbCrLf '";" & strex &
objRecordSet.MoveNext
Loop

f.close
MsgBox "Fin"
' Clean up.
objRecordset.Close
objConnection.Close
Set objRootDSE = Nothing
Set objConnection = Nothing
Set objRecordSet = Nothing