Take a look:
Query AD and get LastLogonTimeStamp[
^]
Dim SearchContext As New PrincipalContext(System.DirectoryServices.AccountManagement.ContextType.Domain, <DomainName>)
Dim ADUser As New UserPrincipal(SearchContext)
Dim ADSearcher As New PrincipalSearcher()
Dim LastLogonDateTimeUTC As DateTime
ADUser.Name = "*"
ADSearcher.QueryFilter = ADUser
Dim SearchResult As PrincipalSearchResult(Of Principal) = ADSearcher.FindAll()
For Each User As UserPrincipal In SearchResult
Console.WriteLine("Name: " & User.Name)
If User.LastLogon.HasValue Then
LastLogonDateTimeUTC = User.LastLogon
Console.WriteLine("Last Logon: " & LastLogonDateTimeUTC.ToLocalTime)
End If
Next User