Mar 21 2017
Compter des Enregistrements en Powershell de Façon Fiable
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.
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