PowerShell | Export de certains attributs des utilisateurs de l'AD
Rédigé par O. Clotaire
4 commentaires
Classé dans : PowerShell
Aujourd'hui mon client demande une extraction avec certains critères de l'Attribut des utilisateurs. J'utilise donc un script en PowerShell. Il faut que j'apprenne ce langage.
J'ai adapté ce script, mais le résultat des informations mentionnant les dates sont illisibles.
Get-ADUser -Filter * -SearchBase "OU=Users,OU=EXP,OU=Sites,OU=Prod,DC=BLOG4ME,DC=COM" -Properties "Displayname, objectClass, cn, description, whenCreated, whenChanged, userAccountControl, accountExpires, lastLogonTimestamp, lastLogon, adminCount" |
Select-Object "Displayname, objectClass, cn, description, whenCreated, whenChanged, userAccountControl, accountExpires, lastLogonTimestamp, lastLogon, adminCount" |
Export-CSV "C:\tmp:\ExportAD-GetADUserFilter.csv"accountExpires, lastLogonTimestamp, LastLogon renvoient des caractères comme ceci, pour les dates :
12994345768609000
Ce format de lecture est illisible pour nous dans l'export du fichier *.csv.
Voici le code correspond à l'affichage d'une date directement lisible, utilisé pour accountExpires, lastLogonTimestamp, LastLogon :
@{N='LastLogon'; E={[DateTime]::FromFileTime($_.LastLogon)}}La ligne de commande finalisé :
$Date = Get-Date -Format "yyyyMMdd"
Get-ADUser -Filter * -SearchBase "OU=Sites,OU=Prod,DC=BLOG4ME,DC=COM" -Properties "displayName, objectClass, cn, description, whenCreated, whenChanged, userAccountControl, accountExpires, lastLogonTimestamp, lastLogon, adminCount" |
Select-Object "displayName, objectClass, cn, description, whenCreated, whenChanged, userAccountControl, @{N='accountExpires'; E{[DateTime]::FromFileTime($_.accountExpires)}}, @{N='lastLogonTimestamp'; E={[DateTime]::FromFileTime($_.lastLogonTimestamp)}}, @{N='LastLogon'; E={[DateTime]::FromFileTime($_.LastLogon)}}, adminCount" |
Export-CSV "C:\tmp\ExportADAttribut$Date.csv"Pour afficher uniquement les comptes Activés, ajouter :
Enabled
Pour ajouter les emplacements de bureaux :
physicalDeliveryOfficeName