powershell – Converting LastLogon to DateTime format

powershell – Converting LastLogon to DateTime format

DateTime.FromFileTime should do the trick:

PS C:> [datetime]::FromFileTime(129948127853609000)

Monday, October 15, 2012 3:13:05 PM

Then depending on how you want to format it, check out standard and custom datetime format strings.

PS C:> [datetime]::FromFileTime(129948127853609000).ToString(d MMMM)
15 October
PS C:> [datetime]::FromFileTime(129948127853609000).ToString(g)
10/15/2012 3:13 PM

If you want to integrate this into your one-liner, change your select statement to this:

... | Select Name, manager, @{N=LastLogon; E={[DateTime]::FromFileTime($_.LastLogon)}} | ...
Get-ADUser -Filter {Enabled -eq $true} -Properties Name,Manager,LastLogon | 
Select-Object Name,Manager,@{n=LastLogon;e={[DateTime]::FromFileTime($_.LastLogon)}}

powershell – Converting LastLogon to DateTime format

LastLogon is the last time that the user logged into whichever domain controller you happen to have been load balanced to at the moment that you ran the GET-ADUser cmdlet, and is not replicated across the domain. You really should use LastLogonTimestamp if you want the time the last user logged in to any domain controller in your domain.

Leave a Reply

Your email address will not be published.