Mar 21 2017

Compter des Enregistrements en Powershell de Façon Fiable

Publié par à 8:45 sous Windows

Powershell fournit une méthode « count » qui paraît légitime pour compter des lignes, des fichiers ou des objets. J’ai été très surpris de constater que PowerShell ne retournait rien quand il devrait compter 0 ou 1.
 
Voici une capture d’écran où je retourne le nombre de comptes Active Directory, qui montre les résultats inattendus de count.
 

Résultats incorrects du count de Powershell


Utilisez plutôt la commande Measure-Object à la place et sélectionnez la valeur count:

C:\>(Get-ADUser -filter {SamAccountName -like "dron*"} |
     select SamAccountName | measure).count
1

 
En plus de la commande Measure-Object qui compte le nombre d’objets, vous pouvez utiliser la commande « tee » qui permet de stocker l’ensemble des résultats dans une variable et son nombre d’éléments dans une autre, en une seule ligne:
 

C:\>$nbComptes = (Get-ADUser -filter {SamAccountName -like "dr*"} |
                  select SamAccountName |
                  tee -Variable comptes | measure).count

C:\>$nbComptes
3

C:\>$comptes

SamAccountName
--------------
draguene
drondy
droze

No responses yet

Comments RSS

Leave a Reply