john pfeiffer
  • Home
  • Categories
  • Tags
  • Archives

User lastlogon.vbs

' 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

  • « Vbscript functions
  • Split loops.vbs »

Published

Feb 6, 2010

Category

bat-vbs-perl

~112 words

Tags

  • bat-vbs-perl 51
  • lastlogon.vbs 1
  • user 18