Generator filtrów LDAP Active Directory
Twórz filtry LDAP dla Active Directory online — wybierz typ obiektu, atrybut i wartość, a narzędzie wygeneruje gotowy filtr oraz polecenie PowerShell Get-ADObject.
-
1Wprowadź dane
Wpisz treść, wklej tekst lub załaduj plik z dysku. -
2Kliknij przycisk
Narzędzie natychmiast przetworzy Twoje dane w przeglądarce. -
3Pobierz wynik
Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
return "Wynik gotowy w 0.1s";
}
Warunki filtra
wyrażenia typu (cn=j*), łączone operatorem
Operator
spójnik łączący warunki w filtrze
Długość filtra
Escapowanie RFC 4515
znaki \ * ( ) i NUL zamieniane na \5c \2a \28 \29 \00
(&(&(objectCategory=person)(objectClass=user))(sAMAccountName=j.smith*)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))
Get-ADObject -LDAPFilter '(&(&(objectCategory=person)(objectClass=user))(sAMAccountName=j.smith*)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))'
Get-ADObject -LDAPFilter '(&(&(objectCategory=person)(objectClass=user))(sAMAccountName=j.smith*)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))'
| Element | Jak to działa w tym narzędziu |
|---|---|
| Składnia | warunek to wyrażenie w nawiasach: (atrybut=wartość); warunki łączy się prefiksowo: AND → (&(w1)(w2)), OR → (|(w1)(w2)), negacja → (!(w)); to narzędzie skleja warunki operatorem & (checkbox „Owijaj operatorem AND”) |
| Baza obiektów | Użytkownik → (&(objectCategory=person)(objectClass=user)); Grupa → (objectCategory=group); Komputer → (objectCategory=computer); Kontakt → (&(objectCategory=person)(objectClass=contact)); tryb „Własny” pomija bazę |
| Dopasowania | równa się → (atrybut=wartość); zawiera → (*wartość*); zaczyna się → (wartość*); kończy się → (*wartość); istnieje → (atrybut=*) |
| Wyłączone konta | (!(userAccountControl:1.2.840.113556.1.4.803:=2)) — bit 2 (ACCOUNTDISABLE) liczony regułą OID 1.2.840.113556.1.4.803 (bitowe AND); dokładnie taki fragment generuje kod dla użytkowników |
| Atrybuty AD | sAMAccountName, cn, displayName, mail, givenName, sn, department, memberOf (pełny DN grupy), description — lista z konfiguracji narzędzia |
| Iniekcja LDAP | przy włączonym escapowaniu znaki \ → \5c, * → \2a, ( → \28, ) → \29 i NUL → \00 (RFC 4515 — dokładnie ta mapa jest w silniku); bez tego wartość typu a)(|(cn=*) zmienia sens filtra i może zwrócić obce obiekty |
Filtr wstawisz do Get-ADUser/-ADObject -LDAPFilter, ldapsearch lub logowania aplikacji. Gwiazdka na początku wartości („zawiera”) wymusza pełny skan indeksu — na dużych domenach zawęź zapytanie zakresem (SearchBase).
Warto wiedzieć — filtry LDAP a bezpieczeństwo AD
Iniekcja LDAP
Sklejanie filtra z surowego inputu to klasyczny wektor ataku: wpis *)(objectClass=* potrafi zmienić zapytanie. Zawsze escapuj wartości (RFC 4515) albo korzystaj z biblioteki, która robi to za Ciebie — opcja „Escapowanie znaków” w tym narzędziu dotyczy dokładnie tego ryzyka.
Wydajność zapytań
sAMAccountName, cn i displayName są indeksowane w AD, więc filtrują szybko. Filtry po nieindeksowanych atrybutach (np. description) skanują całą domenę. Gwiazdka na początku frazy unieważnia indeks — przy tysiącach obiektów wolę „zaczyna się od” niż „zawiera”.
userAccountControl
Flaga bitowa konta: bit 2 to ACCOUNTDISABLE. Wykluczenie wyłączonych użytkowników przez !(userAccountControl:1.2.840.113556.1.4.803:=2) to najczęstszy praktyczny filtr — bez niego raporty i listy mailingowe łapią nieaktywne konta.
Gdzie użyć filtra
Ten sam filtr działa w PowerShell (Get-ADObject -LDAPFilter — polecenie generuje narzędzie), w ldapsearch "(...)", w konfiguracji logowania LDAP aplikacji i w skryptach synchronizacji. Wygenerowany plik .txt wrzucisz prosto do notatnika lub runbooka.
Oceń to narzędzie:
Powiązane narzędzia
Inne narzędzia, które mogą Ci się przydaćGenerator filtrów LDAP i Active Directory — automatyzacja wyszukiwania w strukturach katalogowych
Tworzenie zapytań wyszukujących w bazie danych LDAP lub usłudze katalogowej Microsoft Active Directory bywa wyzwaniem ze względu na specyficzną składnię prefiksową. Nasz profesjonalny generator filtrów LDAP pomoże Ci w kilka sekund przygotować bezbłędne, zaawansowane zapytanie filtrujące.
Zasada działania i składnia zapytań filtrujących LDAP
LDAP (Lightweight Directory Access Protocol) to standardowy protokół sieciowy służący do zarządzania i dostępu do usług katalogowych. Filtry LDAP są używane do wyszukiwania określonych obiektów w bazie danych katalogu na podstawie ich atrybutów. Składnia filtrów opiera się na notacji polskiej (prefiksowej), co oznacza, że operatory logiczne są umieszczane przed argumentami, a nie pomiędzy nimi, na przykład: (&(objectClass=user)(cn=Jan*)).
Zrozumienie i ręczne pisanie takich zapytań bywa skomplikowane, szczególnie przy łączeniu wielu warunków logicznych i wykluczeń. Każdy nawias musi być dokładnie zamknięty, a pomyłka w jednym znaku uniemożliwia poprawne wykonanie zapytania. Nasz generator eliminuje ryzyko błędów składniowych, oferując przyjazny interfejs graficzny do budowania filtrów.
Konstruowanie filtrów dla użytkowników, grup oraz komputerów w Active Directory
W środowisku Active Directory (AD) filtry LDAP są powszechnie stosowane do pobierania list obiektów o określonych właściwościach. Na przykład, aby znaleźć wszystkich użytkowników, stosuje się filtr (objectCategory=person)(objectClass=user). Z kolei do wyszukania komputerów przydatna jest reguła (objectCategory=computer).
Bardziej zaawansowane zapytania pozwalają na filtrowanie obiektów po konkretnych cechach, takich jak przynależność do działu (atrybut department), posiadanie adresu e-mail (mail), czy status konta. Generator ułatwia szybkie wybieranie tych atrybutów i łączenie ich w logiczne formuły bez potrzeby pamiętania dokładnych nazw technicznych pól w schemacie AD.
Operatory logiczne w LDAP: AND (&), OR (|) oraz NOT (!) w praktyce
Filtry LDAP wspierają trzy podstawowe operatory logiczne. Operator AND (&) wymaga, aby wszystkie podane warunki były spełnione jednocześnie. Operator OR (|) zwraca obiekty spełniające co najmniej jeden z warunków. Operator NOT (!) służy do negacji i wykluczania obiektów spełniających dane kryterium, np. do wykluczenia wyłączonych kont użytkowników.
Przykładowo, jeśli szukasz użytkowników o imieniu zaczynającym się na A, którzy pracują w dziale IT, ale nie są administratorami, Twój filtr musi połączyć operatory & oraz !. Nasz generator pozwala na hierarchiczne dodawanie warunków i automatycznie układa je w poprawnie sformatowane zapytanie z odpowiednio rozmieszczonymi nawiasami.
Praktyczne zastosowanie filtrów LDAP w integracjach i skryptach PowerShell
Wygenerowane filtry LDAP mają bardzo szerokie zastosowanie w codziennej pracy administratorów IT oraz integratorów systemów. Są one wykorzystywane przy konfiguracji integracji Single Sign-On (SSO) w aplikacjach zewnętrznych (np. Jira, Confluence, Gitlab), gdzie określają, którzy użytkownicy mają prawo do logowania się do systemu.
Ponadto filtry te są nieocenione w skryptach automatyzujących zadania w PowerShell (np. przy użyciu polecenia Get-ADUser -LDAPFilter) oraz przy konfiguracji polityk grupowych czy narzędzi monitoringu sieciowego. Dzięki naszemu generatorowi możesz szybko przygotować filtr, skopiować go i wkleić bezpośrednio do konfiguracji dowolnego systemu.
Najczęściej zadawane pytania
Czym jest składnia prefiksowa w filtrach LDAP i jak ją czytać?
W składni prefiksowej operatory logiczne (np. &, |) są umieszczane na początku wyrażenia, przed nawiasami zawierającymi warunki. Na przykład zapytanie (&(A)(B)) oznacza, że zarówno warunek A, jak i B muszą być prawdziwe.
Jak przefiltrować tylko aktywnych (włączonych) użytkowników w Active Directory?
Aby wybrać tylko aktywne konta, należy wykluczyć flagę wyłączenia w atrybucie userAccountControl. Służy do tego filtr: (!(userAccountControl:1.2.840.113556.1.4.803:=2)).
Co oznacza wartość atrybutu userAccountControl w kontekście LDAP?
Jest to pole zawierające maskę bitową, w której poszczególne bity określają właściwości konta, takie jak blokada konta, wyłączenie konta, wymaganie zmiany hasła czy brak wygasania hasła.
Jak znaleźć członków konkretnej grupy AD za pomocą filtra LDAP?
Należy użyć atrybutu memberOf, podając pełną ścieżkę wyróżniającą (Distinguished Name - DN) grupy, np. (memberOf=CN=Grupa,OU=Dzial,DC=domena,DC=local).
Czy filtry LDAP są case-sensitive (wrażliwe na wielkość liter)?
W standardowej konfiguracji usługi Active Directory oraz większości serwerów LDAP filtry wyszukiwania nie rozróżniają wielkości liter, co oznacza, że 'jan' i 'Jan' zwrócą te same wyniki.