Powershell: filtrado de unidades organizativas mientras se usa get-adcomputer

Estoy tratando de crear un script que genere una lista de computadoras en función de las propiedades específicas que puede tener una computadora. Por ejemplo, estoy tratando de hacer una lista de las computadoras con Windows XP y las computadoras con Windows 7, lanzar sus nombres en un archivo .csv y emitir el conteo final de cada una.

Aquí está mi código hasta ahora

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"

Salida de muestra:

104 Win 7
86 Win xp
190 Total

Sin embargo, este guión funciona. Me gustaría mejorarlo un poco al poder decir qué unidad organizativa no se debe analizar, pero no puedo entenderlo.

Si alguien tiene alguna idea de cómo hacer esto, o simplemente para mejorar el código anterior, me encantaría escucharlo.

¡Gracias!

Respuestas a la pregunta(2)

Su respuesta a la pregunta