web-dev-qa-db-fra.com

Rechercher des utilisateurs AD avec un attribut AD spécifique NON null

Je recherche un script/une commande Powershell qui répertorie tous les utilisateurs AD ayant une valeur et non NULL dans l'attribut teletexterminalidentifier. Ils doivent donc avoir valeur définie.

Par défaut, cet attribut n'est pas défini, mais nous avons une application qui modifie cet attribut (afin de contenir une chaîne hexadécimale). Je recherche donc une liste de tous les utilisateurs pour lesquels cet attribut est défini.

Merci!

11
Johan

Vous devriez pouvoir obtenir les utilisateurs en utilisant:

Get-ADUser -Filter 'teletexterminalidentifier -like "*"'

Vous pouvez ensuite filtrer ce dont vous avez besoin en canalisant la commande:

Get-ADUser -Filter 'teletexterminalidentifier -like "*"' | Select-Object name,teletexterminalidentifier | Export-Csv file.csv

Select-Object vous permet de sélectionner les champs pour lesquels vous souhaitez obtenir les informations par nom.

9
Alex McKenzie

Je pense que ce que vous recherchez est l'applet de commande Where-Object. Voici un pseudo-code pour vous aider:

Get-ADUser -Filter * | Where-Object {$_.teletexterminalidentifier -ne $null} | Export-Csv c:\list.csv
4
Colyn1337

Si vous souhaitez filtrer les utilisateurs en fonction de cette propriété, vous devez ajouter le commutateur -properties à la cmdlet Get-ADuser. En effet, sans ce commutateur, il ne charge que les propriétés de base (membres) des objets utilisateur.

Ainsi, voici la commande complète pour réaliser ce que vous voulez:

Get-ADUser -filter * -Properties * | ? {$_.teletexterminalidentifier -ne $null} | Select-Object CN,SamAccountName,Teletexterminalidentifier

Cela produira ce genre de résultat: enter image description here

Ensuite, vous pourrez exporter le résultat dans le format souhaité.

J'espère que cela t'aides !

1
Ob1lan