Articles > Windows 2003
How to find unused local user accounts on Windows Server
Last Updated: 4/6/10' Run the code get_Last_Logons() ' Return all users who have never logged in or last logged in more that 90 days ago Sub get_Last_Logons() on error resume next Dim oOutput ' The file to write the output to Dim colUsers ' Collection of local users on the server Dim strLastLogin ' String to hold the last login date if found ' Create the output file Set oOutput = CreateObject("Scripting.FileSystemObject").OpenTextFile("c:\output.txt",2,True) ' Get the servers local users Set colUsers = GetObject("WinNT://" & CreateObject("Wscript.Network").ComputerName) colUsers.Filter = Array("user") ' For each user in the collection For Each oUser In colUsers ' Get the last login property strLastLogin = oUser.LastLogin ' If an error occured then output that the last login was not found If err.number <> 0 Then err.Clear oOutput.WriteLine oUser.Name & ";NOT FOUND" ' Else output the user id and the last login time for users who last logged in more than 90 days ago ElseIf dateDiff("d",strLastLogin,Date) > 90 Then oOutput.WriteLine oUser.Name & ";" & strLastLogin End If Next ' Tidy up oOutput.Close Set oOutput = Nothing End Sub
Keywords: find unused logins lastlogon local user accounts windows server 2003