Converter o LastLogon para o formato DateTime

o meu objectivo é obter uma lista de utilizadores do meu domínio com a seguinte informação:

- Nome do ecrã -Country - Nome Do Gestor - Última data de autenticação

estou a executar o seguinte script, e tudo parece bem, excepto o LastLogon. Ele produz o tempo em um monte de números aleatórios como "129948127853609000". Como posso converter isto para formato DateTime?

Search-ADAccount -UsersOnly -SearchBase "OU=International,DC=mycompany,DC=com" -AccountDisabled:$false | Get-ADUser -Properties Name, manager, LastLogon | Select Name, manager, LastLogon | export-csv C:\Australia.csv -NoTypeInformation
Author: Pickle, 2012-10-26

4 answers

DateTime.FromFileTime deve resultar.

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

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

Então, dependendo de como você deseja formatá-lo, confira standard e 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

Se quiser integrar isto no seu invólucro único, mude a sua declaração select para isto:

... | Select Name, manager, @{N='LastLogon'; E={[DateTime]::FromFileTime($_.LastLogon)}} | ...
 31
Author: latkin, 2012-10-26 18:17:28
Get-ADUser -Filter {Enabled -eq $true} -Properties Name,Manager,LastLogon | 
Select-Object Name,Manager,@{n='LastLogon';e={[DateTime]::FromFileTime($_.LastLogon)}}
 6
Author: Shay Levy, 2012-10-26 18:19:45

LastLogon é a última vez que o usuário conectado em qualquer controlador de domínio que tenha sido balanceamento de carga no momento em que você executou o cmdlet GET-ADUser cmdlet, e não é replicado no domínio. Você realmente deve usar LastLogonTimestamp se você quiser a hora que o último usuário logou em qualquer controlador de domínio em seu domínio.

 3
Author: Mark McCoy, 2014-09-17 18:50:32

Utilize a propriedade LastLogonDate e não terá de converter a data/hora. lastLogonTimestamp deve ser igual a LastLogonDate quando convertido. Desta forma, você vai obter a última data de logon e hora em todo o domínio sem a necessidade de converter o resultado.

 1
Author: Michael, 2015-04-29 05:35:57