DSQUERY i liczenie obiektów w domenie

CMD_report2_ikonaO wyszukiwaniu obiektów w domenie pisałem całkiem sporo, ale czasem zachodzi też potrzeba ich zliczenia. Interfejs graficzny i cały szereg dostępnych narzędzi do zarządzania obiektami w domenie Active Directory dają całe mnóstwo opcji raportowania i wyszukiwania obiektów po kryteriach wraz z podaniem liczby wyników. My jednak zrobimy to w starym dobrym Wierszu Poleceń, abyście mogli w razie potrzeby dopisać sobie dodatkowe akcje np. automatyczne wysłanie maila z raportem 🙂 Poza tym, jeśli regularnie wykonujemy jakieś zliczanie, a interfejs graficzny nie pozwala zachować naszych filtrów – skrypt CMD będzie dużym ułatwieniem.

Wykorzystamy DSQUERY z Microsoft-owego zestawu Remote Server Administration Tools (RSAT):

RSAT dla Windows 7 | RSAT dla Windows 8

Jak wiecie, DSQUERY domyślnie wyświetla wyniki w postaci podobnej do tej:

„CN=Lukasz Skalikow,OU=Users,OU=Warszawa,OU=Spece,DC=it”

Każda linia to jeden obiekt. Każda linia zawiera jednorazowo frazę „”CN=”, a więc zliczenie fraz „CN=” jest odpowiedzią na nasze pytanie:)
Do szukania fraz wykorzystamy klasyczne polecenie „find”, które do dzisiaj znajdziecie w każdym Windowsie.

Oto kilka przykładów:
W ten sposób podliczymy wszystkich użytkowników w całym lesie:

dsquery user forestroot -limit 0 | find /c /i „CN=”

W ten sposób zliczymy komputery w całym lesie:

dsquery computer forestroot -limit 0 | find /c /i „CN=”

W ten sposób zliczymy wszystkich użytkowników, któych nazwa zawiera frazę „ski”:

dsquery user -name *ski* -limit 0 | find /c /i „CN=”

…a tak, komputery, które mają w nazwie „sql”:

dsquery computer -name *sql* -limit 0 | find /c /i „CN=”

Tak podliczymy wszystkich użytkowników we wskazanym OU:

dsquery user -name * ou=users,ou=Warszawa,ou=Europa,dc=spece,dc=it | find /c /i „CN=”

Oczywiście, przykładów można mnożyć dziesiątki 🙂 Sam zamysł liczenia obiektów będzie działał identycznie.

Łukasz Skalikow

Obecnie Manager IT. Przez lata byłem Inżynierem systemów. Jestem entuzjastą i specem od vSphere, Windows serwer, GPO. Od zawsze byłem zwolennikiem wiersza poleceń i automatyzacji. Obecnie, ze względu na pracę, rodzinę i wyjazdy służbowe, dużo mniej udzielam się na blogu, ale mam nadzieję, że pośród kilkuset porad opublikowanych na spece.it, wiele osób znajdzie dla siebie coś przydatnego :)

Przeczytaj także...

2 komentarze

  1. dlt7 napisał(a):

    find /c /i „CN=”
    Cudzysłów górny powinien być.

Dodaj komentarz