web-dev-qa-db-fra.com

Conversion de LastLogon au format DateTime

Mon objectif est d'obtenir une liste des utilisateurs de mon domaine avec les informations suivantes:

- Nom d'affichage - Pays - Nom du gestionnaire - Date de la dernière connexion

J'exécute le script suivant et tout semble bien sauf le LastLogon. Il affiche l'heure en un tas de nombres aléatoires comme "129948127853609000". Comment puis-je convertir cela au format 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
21
Pickle

DateTime.FromFileTime devrait faire l'affaire:

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

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

Ensuite, en fonction de la manière dont vous souhaitez le formater, vérifiez les chaînes de format standard et personnalisé datetime.

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

Si vous souhaitez intégrer cela dans votre one-liner, changez votre déclaration select en ceci:

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

LastLogon est la dernière connexion de l'utilisateur au contrôleur de domaine sur lequel vous avez équilibré la charge au moment où vous avez exécuté l'applet de commande GET-ADUser. n'est pas répliqué sur le domaine. Vous devez vraiment utiliser LastLogonTimestamp si vous voulez que le dernier utilisateur soit connecté à n’importe quel contrôleur de domaine de votre domaine.

6
Mark McCoy

Utilisez la propriété LastLogonDate et vous n'aurez pas à convertir la date/heure. lastLogonTimestamp doit être égal à LastLogonDate lors de la conversion. De cette façon, vous obtiendrez la date et l'heure de la dernière connexion sur le domaine sans avoir à convertir le résultat.

1
Michael