' JOHNPFEIFFER 27jan09 script to output all user logon times for a domain (to a file)
On Error Resume Next
Dim fso, fp, filecontents, outputfilename
Set fso = CreateObject("Scripting.FileSystemObject")
outputfilename = "c:\" & Year(Date) & "-" & Month(Date) & "-" & Day(Date) & "-userlogons.txt"
set fp = fso.CreateTextFile(outputfilename,True)
sEnterDCs = "DOMAINNAME"
sObjects = Split(sEnterDCs, ",")
Set oDomain = GetObject("WinNT://" & sObjects(0))
oDomain.Filter = Array("User")
WScript.Echo "Showing last login times of accounts from: " & oDomain.Name & vbNewLine
For Each oDomainItem In oDomain
sUsrLogin = oDomainItem.LastLogin
If UBound(sObjects) >= 1 Then
For ii = 1 To UBound(sObjects)
Set oUsr = GetObject("WinNT://" & sObjects(ii) & "/" & oDomainItem.Name & ",user")
If oUsr.LastLogin > sUsrLogin Then sUsrLogin = oUsr.LastLogin
Next
End If
' WScript.Echo "Username: " & Left(oDomainItem.Name & Space(22),22) & "Last login: " & FormatDateTime(sUsrLogin)
fp.writeline( "Username: " & Left(oDomainItem.Name & Space(22),22) & "Last login: " & FormatDateTime(sUsrLogin) )
Next
fp.close
WScript.Echo "User name: & Last login: in " & outputfilename