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.


Podobne Tematy:

  • dlt7

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

    • 34werfsd

      i to jest bardzo dobra uwaga ;)