Nous allons voir ici comment exporter la totalité des informations téléphoniques renseignées dans Active Directory.
On commence avec un help de la fonction Get-ADUser:
help get-aduser
Pour voir toutes les propriétés d’un utilisateur et récupérer les valeurs qui nous intéresse:
Get-ADUser -Identity usertest -Properties *
On affiche les valeurs que nous souhaitons ( otherTelephone, mobile, TelephoneNumber) pour tous les utilisateurs de l’AD:
Get-ADUser -filter * -properties otherTelephone, mobile, TelephoneNumber | ft Name, TelephoneNumber, otherTelephone, mobile
Ensuite on classe par Nom:
Get-ADUser -filter * -properties otherTelephone, mobile, TelephoneNumber | sort-object Name | ft Name, TelephoneNumber, otherTelephone, mobile
Enfin pour exporter en CSV j’ai essayé avec cette commande mais j’ai eu dans certaines colonnes, des données non cohérentes sur la colonne « otherTelephone »: (Microsoft.ActiveDirectory.Management.ADPropertyValueCollection):
Get-ADUser -filter * -properties otherTelephone, mobile, TelephoneNumber | sort-object Name | Select-Object Name, TelephoneNumber, otherTelephone, mobile | Export-Csv -path C:\Temp\test2.csv
Pour que l’export fonctionne et après une petite recherche voici la commande finale, premièrement il faut sortir FT et le remplacer par Select-object et ensuite pour les champs qui posent problèmes créer un nouvel objet:
(@{n="otherTelephone";e={[string]$_.otherTelephone}})
Ce qui donne la commande finale suivante:
Get-ADUser -filter * -properties otherTelephone, mobile, TelephoneNumber | sort-object Name | Select-Object Name, TelephoneNumber, @{n="otherTelephone";e={[string]$_.otherTelephone}}, mobile | Export-Csv -path C:\Temp\test3.csv -NoTypeInformation