NT Domain Last User Login time 
Author Message
 NT Domain Last User Login time

Anyone have a script sample for determining the last user's logon time/date
for NT domain (not AD)?


Sat, 12 Nov 2005 17:55:45 GMT  
 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)?



Sun, 13 Nov 2005 23:15:08 GMT  
 NT Domain Last User Login time
Nice script, but I'm looking for something that will query all the domain
controllers, not just one computer....


Quote:
> Here's my user reporting script, where you also find the LastLogin
> attribute.

> Regards - Jrgen

' --------------------------------------------------------------------------
Quote:
> ----------------------------------
> ' 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

' --------------------------------------------------------------------------
Quote:
> ----------------------------------

> ' --------------------------------
> ' 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



> > Anyone have a script sample for determining the last user's logon
> time/date
> > for NT domain (not AD)?



Mon, 14 Nov 2005 00:00:26 GMT  
 
 [ 3 post ] 

 Relevant Pages 

1. NH: Need to have user login with their NT login

2. Last login date in NT 4

3. NT Domain Login Name

4. NT Domain Login Via Script

5. Need a simple Win95 login script for NT domain quickly

6. Domain Login user name retrieval

7. Specify Login Script In User Manager in NT4 Domain

8. Domain Login-Script / regarding user′s groups

9. Retrieve User NT login

10. How to capture user's NT login?

11. Retrieve User NT login

12. Full user name from NT login ID

 

 
Powered by phpBB® Forum Software