
NT Domain Last User Login time
Here's my user reporting script, where you also find the LastLogin
attribute.
Regards - Jrgen
' --------------------------------------------------------------------------
----------------------------------
' HUSER.VBS - Detailierte Attribute von Windows Benutzerkonten
'
' Version: 1.00 - JH - 18.11.2002 Erste Version
' 1.01 - JH - 31.01.2003 CmdLine switch /d added
' 1.02 - JH - 05.02.2003 UserFlags decoded
' --------------------------------------------------------------------------
----------------------------------
' --------------------------------
' Commandozeilenparameter auslesen
' --------------------------------
if (WScript.Arguments.Named.Exists("?")) then showhelp()
computerName = LCase(wscript.arguments.named.item("c"))
userName = LCase(wscript.arguments.named.item("u"))
outputMode = wscript.Arguments.Named.Exists("d")
' ----------------------------------------------------
' Wenn Computername nicht angegeben, lokalen verwenden
' ----------------------------------------------------
if computerName = "" then
set net = CreateObject("WScript.Network")
computerName = net.computerName
end if
' -------------------------------------------
' mit Computer verbinden und Fehlerbehandlung
' -------------------------------------------
on error resume next
Set users = GetObject("WinNT://" & computerName & ",computer")
if err.number then
wscript.echo Err.source & " - " & Err.number & " - " & Err.description
wscript.quit
end if
' --------------------------------------------
' wenn Username nicht angegeben, alle auslesen
' --------------------------------------------
if userName = "" then
users.filter=array("User")
else
Set net = CreateObject("WScript.Network")
Set user = GetObject("WinNT://" & net.UserDomain & "/" & computerName &
"/" & userName & ",user")
users = array(user)
end if
' -------
' Ausgabe
' -------
userCount = 0
for each user in users
wscript.echo user.Name & vbTab & "FullName=" & user.FullName
if outputMode then
wscript.echo user.Name & vbTab & "AccountExpirationDate=" &
user.AccountExpirationDate
wscript.echo user.Name & vbTab & "BadPasswordAttempts=" &
user.BadPasswordAttempts
wscript.echo user.Name & vbTab & "Description=" & user.Description
wscript.echo user.Name & vbTab & "HomeDirDrive=" & user.HomeDirDrive
wscript.echo user.Name & vbTab & "HomeDirectory=" & user.HomeDirectory
wscript.echo user.Name & vbTab & "LastLogin=" & user.LastLogin
wscript.echo user.Name & vbTab & "LastLogoff=" & user.LastLogoff
wscript.echo user.Name & vbTab & "LoginHours=" & user.LoginHours
wscript.echo user.Name & vbTab & "LoginScript=" & user.LoginScript
wscript.echo user.Name & vbTab & "LoginWorkstations=" &
user.LoginWorkstations
wscript.echo user.Name & vbTab & "LoginMaxLogins=" & user.MaxLogins
wscript.echo user.Name & vbTab & "MaxPasswordAge=" &
user.MaxPasswordAge
wscript.echo user.Name & vbTab & "MaxStorage=" & user.MaxStorage
wscript.echo user.Name & vbTab & "MinPasswordAge=" &
user.MinPasswordAge
wscript.echo user.Name & vbTab & "MinPasswordLenght=" &
user.MinPasswordLength
wscript.echo user.Name & vbTab & "ObjectSid=" & user.ObjectSid
wscript.echo user.Name & vbTab & "PasswordAge=" & user.PasswordAge
wscript.echo user.Name & vbTab & "PasswordExpired=" &
user.PasswordExpired
wscript.echo user.Name & vbTab & "PasswordHistoryLength=" &
user.PasswordHistoryLength
wscript.echo user.Name & vbTab & "PrimaryGroupID=" &
user.PrimayrGroupID
wscript.echo user.Name & vbTab & "Profile=" & user.Profile
wscript.echo user.Name & vbTab & "Ra{*filter*}issions=" &
user.Ra{*filter*}issions
wscript.echo user.Name & vbTab & "UserFlags=" & user.UserFlags
wscript.echo user.Name & vbTab & vbTab & "AccountType=" &
GetAccountType(user.UserFlags)
wscript.echo user.Name & vbTab & vbTab & "AccountDisabled="
&((user.UserFlags And 2) / 2)
wscript.echo user.Name & vbTab & vbTab & "AccountDisabledBySystem="
&((user.UserFlags And 16) / 16)
wscript.echo user.Name & vbTab & vbTab & "HomeDirRequired="
&((user.UserFlags And 8) / 8)
wscript.echo user.Name & vbTab & vbTab & "NoPasswordRequired="
&((user.UserFlags And 32) / 32)
wscript.echo user.Name & vbTab & vbTab & "UserCannotChangePassword="
&((user.UserFlags And 64) / 64)
wscript.echo user.Name & vbTab & vbTab & "AccountNeverExpires="
&((user.UserFlags And 65536) / 65536)
wscript.echo
"-----------------------------------------------------------------------"
end if
userCount = userCount + 1
next
wscript.echo vbCrLf & userCount & " User(s) processed."
Function GetAccountType(userFlags)
if userFlags And 512 then GetaccountType = "Normal Account"
if userFlags And 2048 then GetaccountType = "Domain-Trust"
if userFlags And 4096 then GetaccountType = "Workstation-Trust"
if userFlags And 8192 then GetaccountType = "Server-Trust"
if userFlags And 131072 then GetaccountType = "MNS Logon Account"
End Function
Function ShowHelp()
wscript.echo "HUSER V1.00 - Detailed Userinformation"
wscript.echo "Usage: HUSER [/c:Computername] [/u:Username] [/d]" & vbCrLf
wscript.echo " /d Show detailed object properties."
wscript.quit
End Function
Quote:
> Anyone have a script sample for determining the last user's logon
time/date
> for NT domain (not AD)?