V AD lze hledat pomocí dialogu „Najít Uživatelé, kontakty a skupiny“. V případě, že chcete jednoduše vyhledat počítač nebo uživatele je tento postup celkem dostačující. Pokud však potřebujete složitější a opakovaný výstup, filtrovat atributy atd. je dobré použít ručně tzv. „LDAP search string“. Tento řetězec je možné si uložit pro pozdější použití přímo do snap-in konzole „Uživatelé a počítače služby Active Directory“ do složky „Uložené dotazy“ („Saved Queries“).
Samotný dotaz vytvořite takto: Označte „Uložené dotazy“, dále menu Action –> New –> Dotaz; vyplňte název a klikněte na „Definovat dotaz“. V rozbalovacím seznamu označte „Vlastní vyhledávání“ a na kartě „Upřesnit“ můžete vkládat vlastní LDAP vyhledávací řetězce.
Dotaz se skládá ze závorek a kombinací symbolů „&“, „|“ a „!“, které reprezentují logické operátory AND, OR a NOT.
Syntax
(atribut=hodnota)
– vrátí hodnotu, kt. se ROVNÁ atributu(&(atribut1=hodnota1)(atribut2=hodnota2))
– vrátí hodnotu objektu, kde atribut1 se rovná hodnota1 A kde atribut2 se rovná hodnota2(|(atribut1=hodnota1)(atribut2=hodnota2))
– vrátí hodnotu objektu, kde atribut1 se rovná hodnota1 NEBO kde atribut2 se rovná hodnota2(!(atribut=hodnota))
– vrátí hodnotu, kt. se NEROVNÁ atributu
Příklady
Najde všechny objekty jejichž název začína na St
(cn=St*)
Nalezení všech uživatelů, jejichž příjmení končí na á; v češtině lze takto nalézt s 99% úspěšností všechny ženy v AD :)
(&(objectClass=person)(cn=*á))
Nalezení všech oddělení, které začínají nulou a devítkou
(objectCategory=group)(|(cn=0*)(cn=9*))
Uživatelé, kteří se musí přihlásit čipovou kartou
(&(objectCategory=user)(userAccountControl:1.2.840.113556.1.4.803:=262144))
Všichni uživatelé, kteří byli vloženi od 1. ledna 2009
(objectCategory=user)(whenCreated>=20090909000000.0Z)
Uživatelé, kteří se od 1.1.2009 nepřihlásili
(&(objectCategory=user)(lastLogon<=128752380000000000))
Uživatelé, kteří si od začátku roku 2009 nezměnili heslo
(&(objectCategory=user)(pwdLastSet<=128752380000000000))
Nalezení zakázaných účtů
(&(objectCategory=user)(userAccountControl:1.2.840.113556.1.4.803:=2))
Nalezení zakázaných účtů, které vlastní e-mail
(&(objectCategory=user)(userAccountControl:1.2.840.113556.1.4.803:=2)
(proxyAddresses=smtp:*))
Uživatelé bez e-mailu
(&(objectCategory=user)(!proxyAddresses=*))
Pozn.
- Datum a čas je u některých atributů (lastLogon, pwdLastSet,…) ve formátu 100 nanosekundových intervalů od 1.1.1601, je to trochu obtížnější na výpočet nicméně na netu existuje hodně skriptů, které toto řeší. např. zde http://www.petri.co.il/software/datetointeger8.zip
- Jména atributů lze získat z aplikace ADSIEDIT.MSC, kt. je součástí Support Tools os MS