Powershell - Filtrage des unités d'organisation tout en utilisant get-adcomputer

Je suis en train de créer un script qui génère une liste d'ordinateurs basés sur des propriétés spécifiques dont un ordinateur peut avoir. Par exemple, je suis en train de faire une liste des ordinateurs Windows XP et Windows 7 ordinateurs, jettent leurs noms dans un .fichier csv et à la sortie le nombre final de chaque.

Voici mon code si loin

import-module ActiveDirectory
$computers = get-adcomputer -Filter 'ObjectClass -eq "Computer"' -properties "OperatingSystem"
$i = 0
$j = 0
Foreach ($computer in $computers) {
    if ($computer.operatingSystem -like "Windows 7*") {
        $i++
        '"{0}","{1}","{2}"' -f $computer.Name, $computer.OperatingSystem, "$computer.DistinguishedName" | Out-file -append C:\users\admin\desktop\test.txt
        }
    elseif ($computer.OperatingSystem -like "Windows XP*") {
        $j++
        '"{0}","{1}","{2}"' -f $computer.Name, $computer.OperatingSystem, "$computer.DistinguishedName" | Out-file -append C:\users\admin\desktop\test.txt
        }
    else {
        $_
        }

}
write-host "$i Win 7"
write-host "$j Win xp"
$k = $i+$j
write-host "$k Total"

Exemple De Sortie:

104 Win 7
86 Win xp
190 Total

Ce script fonctionne cependant je voudrais faire un peu mieux en étant en mesure de dire qui OU de ne pas regarder, mais je ne peux pas tout à fait le comprendre.

Si quelqu'un a des informations sur la manière de le faire, ou même juste pour faire le code ci-dessus, mieux je serais ravi de l'entendre.

Merci!

OriginalL'auteur smierdziel | 2012-07-17