Wyświetlanie i ustawianie zasad LDAP w usłudze Active Directory przy użyciu Ntdsutil.exe
W tym artykule opisano sposób zarządzania zasadami protokołu Lightweight Directory Access Protocol (LDAP) przy użyciu narzędzia Ntdsutil.exe.
Dotyczy systemów: Windows Server 2019, Windows Server 2016, Windows Server 2012 R2
Oryginalny numer KB: 315071
Podsumowanie
Aby upewnić się, że kontrolery domeny mogą obsługiwać gwarancje na poziomie usługi, należy określić limity operacyjne dla wielu operacji LDAP. Te limity zapobiegają niekorzystnemu wpływowi określonych operacji na wydajność serwera. Sprawiają one również, że serwer jest bardziej odporny na ataki niektórych typów.
Zasady LDAP są implementowane przy użyciu obiektów queryPolicy
klasy . Obiekty zasad zapytań można tworzyć w kontenerze Zasady zapytań, który jest elementem podrzędnym kontenera usługi katalogowej w kontekście nazewnictwa konfiguracji. Na przykład cn=Query-Policies,cn=Directory Service,cn=Windows NT,cn= Kontekst nazewnictwa konfiguracji usług.
Limity administracji LDAP
Limity administracyjne protokołu LDAP to:
InitRecvTimeout — ta wartość definiuje maksymalny czas w sekundach oczekiwania kontrolera domeny na wysłanie pierwszego żądania przez klienta po odebraniu nowego połączenia przez kontroler domeny. Jeśli klient nie wyśle pierwszego żądania w tym czasie, serwer rozłączy klienta.
Wartość domyślna: 120 sekund
MaxActiveQueries — maksymalna liczba równoczesnych operacji wyszukiwania LDAP, które mogą być uruchamiane w tym samym czasie na kontrolerze domeny. Po osiągnięciu tego limitu serwer LDAP zwraca błąd zajęty .
Wartość domyślna: 20
Uwaga
Ta kontrolka ma nieprawidłową interakcję z wartością MaxPoolThreads. MaxPoolThreads jest kontrolką na procesor, a maxActiveQueries definiuje liczbę bezwzględną. Począwszy od systemu Windows Server 2003, funkcja MaxActiveQueries nie jest już wymuszana. Ponadto funkcja MaxActiveQueries nie jest wyświetlana w wersji NTDSUTIL systemu Windows Server 2003.
Wartość domyślna: 20
MaxConnections — maksymalna liczba jednoczesnych połączeń LDAP akceptowanych przez kontroler domeny. Jeśli połączenie zostanie nawiązane po osiągnięciu tego limitu przez kontroler domeny, kontroler domeny usunie inne połączenie.
Wartość domyślna: 5000
MaxConnIdleTime — maksymalny czas w sekundach, przez który klient może być bezczynny, zanim serwer LDAP zamknie połączenie. Jeśli połączenie jest bezczynne przez więcej niż ten czas, serwer LDAP zwraca powiadomienie o rozłączeniu LDAP.
Wartość domyślna: 900 sekund
MaxDatagramRecv — maksymalny rozmiar żądania datagramu, które będzie przetwarzać kontroler domeny. Żądania większe niż wartość parametru MaxDatagramRecv są ignorowane.
Wartość domyślna: 4096 bajtów
MaxNotificationPerConnection — maksymalna liczba zaległych żądań powiadomień dozwolonych w jednym połączeniu. Po osiągnięciu tego limitu serwer zwraca błąd zajęty do wszystkich nowych wyszukiwań powiadomień, które są wykonywane na tym połączeniu.
Wartość domyślna: 5
MaxPageSize — ta wartość kontroluje maksymalną liczbę obiektów zwracanych w jednym wyniku wyszukiwania, niezależnie od rozmiaru każdego zwróconego obiektu. Aby przeprowadzić wyszukiwanie, w którym wynik może przekroczyć tę liczbę obiektów, klient musi określić stronicowa kontrolkę wyszukiwania. Jest to grupowanie zwróconych wyników w grupach, które nie są większe niż wartość MaxPageSize. Podsumowując, maxPageSize kontroluje liczbę obiektów zwracanych w jednym wyniku wyszukiwania.
Wartość domyślna: 1000
MaxPoolThreads — maksymalna liczba wątków na procesor, które kontroler domeny przeznacza na nasłuchiwanie danych wejściowych lub wyjściowych sieci (we/wy). Ta wartość określa również maksymalną liczbę wątków na procesor, które mogą jednocześnie pracować nad żądaniami LDAP.
Wartość domyślna: 4 wątki na procesor
MaxResultSetSize — między poszczególnymi wyszukiwaniami, które tworzą stronicowone wyszukiwanie wyników, kontroler domeny może przechowywać dane pośrednie dla klienta. Kontroler domeny przechowuje te dane, aby przyspieszyć następną część stronicowanego wyszukiwania wyników. Wartość MaxResultSize steruje całkowitą ilością danych przechowywanych przez kontroler domeny dla tego rodzaju wyszukiwania. Po osiągnięciu tego limitu kontroler domeny odrzuca najstarsze z tych wyników pośrednich, aby umożliwić przechowywanie nowych wyników pośrednich.
Wartość domyślna: 262 144 bajty
MaxQueryDuration — maksymalny czas w sekundach, który kontroler domeny spędzi na jednym wyszukiwaniu. Po osiągnięciu tego limitu kontroler domeny zwraca błąd "timeLimitExceeded". Wyszukiwania, które wymagają więcej czasu, muszą określać kontrolkę wyników stronionych.
Wartość domyślna: 120 sekund
MaxTempTableSize — podczas przetwarzania
dblayer
zapytania może zostać podjęta próba utworzenia tymczasowej tabeli bazy danych w celu sortowania i wybierania wyników pośrednich. Limit MaxTempTableSize określa, jak duża może być ta tymczasowa tabela bazy danych. Jeśli tymczasowa tabela bazy danych zawiera więcej obiektów niż wartość maxTempTableSize,dblayer
wykonuje znacznie mniej wydajną analizę pełnej bazy danych DS i wszystkich obiektów w bazie danych usług DS.Wartość domyślna: 10 000 rekordów
MaxValRange — ta wartość kontroluje liczbę wartości zwracanych dla atrybutu obiektu, niezależnie od liczby atrybutów obiektu lub liczby obiektów w wyniku wyszukiwania. W systemie Windows 2000 ta kontrolka jest zakodowane na stałe na poziomie 1000. Jeśli atrybut ma więcej niż liczba wartości określonych przez wartość MaxValRange, należy użyć kontrolek zakresu wartości w LDAP, aby pobrać wartości przekraczające wartość MaxValRange. MaxValueRange steruje liczbą wartości zwracanych dla pojedynczego atrybutu w jednym obiekcie.
- Wartość minimalna: 30
- Wartość domyślna: 1500
Rozpocznij Ntdsutil.exe
Ntdsutil.exe znajduje się w folderze Narzędzia pomocy technicznej na dysku CD-ROM instalacji systemu Windows. Domyślnie Ntdsutil.exe jest zainstalowany w folderze System32.
- Kliknij przycisk Start, a następnie kliknij polecenie Uruchom.
- W polu tekstowym Otwórz wpisz ntdsutil, a następnie naciśnij klawisz ENTER. Aby wyświetlić pomoc w dowolnym momencie, wpisz
?
w wierszu polecenia.
Wyświetlanie bieżących ustawień zasad
- W wierszu polecenia Ntdsutil.exe wpisz
LDAP policies
, a następnie naciśnij klawisz ENTER. - W wierszu polecenia zasad LDAP wpisz
connections
, a następnie naciśnij klawisz ENTER. - W wierszu polecenia połączenia serwera wpisz
connect to server <DNS name of server>
, a następnie naciśnij klawisz ENTER. Chcesz nawiązać połączenie z serwerem, z którym obecnie pracujesz. - W wierszu polecenia połączenia serwera wpisz
q
, a następnie naciśnij klawisz ENTER, aby powrócić do poprzedniego menu. - W wierszu polecenia zasad LDAP wpisz
Show Values
, a następnie naciśnij klawisz ENTER.
Zostanie wyświetlony widok zasad w miarę ich istnienia.
Modyfikowanie ustawień zasad
W wierszu polecenia Ntdsutil.exe wpisz
LDAP policies
, a następnie naciśnij klawisz ENTER.W wierszu polecenia zasad LDAP wpisz
Set <setting> to <variable>
, a następnie naciśnij klawisz ENTER. Na przykład wpisz Ustaw wartość MaxPoolThreads na wartość 8.To ustawienie zmienia się w przypadku dodania innego procesora do serwera.
Możesz użyć polecenia ,
Show Values
aby zweryfikować zmiany.Aby zapisać zmiany, użyj opcji Zatwierdź zmiany.
Po zakończeniu wpisz
q
, a następnie naciśnij klawisz ENTER.Aby zamknąć Ntdsutil.exe, w wierszu polecenia wpisz
q
, a następnie naciśnij klawisz ENTER.
Uwaga
Ta procedura pokazuje tylko domyślne ustawienia zasad domeny. Jeśli zastosujesz własne ustawienie zasad, nie będzie ono widoczne.
Wymaganie ponownego uruchomienia
Jeśli zmienisz wartości zasad zapytań używanych obecnie przez kontroler domeny, zmiany te zostaną wprowadzone bez ponownego uruchomienia. Jeśli jednak zostaną utworzone nowe zasady zapytań, ponowne uruchomienie jest wymagane, aby nowe zasady zapytań zaczęły obowiązywać.
Zagadnienia dotyczące zmiany wartości zapytań
Aby zachować odporność serwera domeny, nie zaleca się zwiększania wartości limitu czasu o 120 sekund. Preferowanym rozwiązaniem jest tworzenie bardziej wydajnych zapytań. Aby uzyskać więcej informacji na temat tworzenia wydajnych zapytań, zobacz Tworzenie bardziej wydajnych aplikacji microsoft active Directory-Enabled.
Jeśli jednak zmiana zapytania nie jest opcją, zwiększ wartość limitu czasu tylko na jednym kontrolerze domeny lub tylko w jednej lokacji. Aby uzyskać instrukcje, zobacz następną sekcję. Jeśli ustawienie jest stosowane do jednego kontrolera domeny, zmniejsz priorytet DNS LDAP na kontrolerze domeny, tak aby klienci mniej prawdopodobne używać serwera do uwierzytelniania. Na kontrolerze domeny o zwiększonym priorytecie użyj następującego ustawienia rejestru, aby ustawić LdapSrvPriority
wartość :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters
W menu Edytuj wybierz pozycję Dodaj wartość, a następnie dodaj następującą wartość rejestru:
- Nazwa wpisu: LdapSrvPriority
- Typ danych: REG_DWORD
- Wartość: ustaw wartość na wartość żądanego priorytetu.
Aby uzyskać więcej informacji, zobacz Jak zoptymalizować lokalizację kontrolera domeny lub wykazu globalnego, który znajduje się poza lokacją klienta.
Instrukcje dotyczące konfigurowania kontrolera domeny lub zasad lokacji
Utwórz nowe zasady zapytań w obszarze CN=Query-Policies,CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration, forest root.
Ustaw kontroler domeny lub lokację tak, aby wskazywała nowe zasady, wprowadzając nazwę wyróżniającą nowych zasad w atrybucie Query-Policy-Object . Lokalizacja atrybutu jest następująca:
Lokalizacja kontrolera domeny to CN=NTDS Settings, CN= DomainControllerName, CN=Servers,CN= nazwa lokacji,CN=Lokacje,CN=Konfiguracja, katalog główny lasu.
Lokalizacja lokacji to CN=NTDS Site Settings,CN= nazwa lokacji,CN=Sites,CN=Configuration, katalog główny lasu.
Przykładowy skrypt
Poniższy tekst umożliwia utworzenie pliku Ldifde. Ten plik można zaimportować, aby utworzyć zasady z wartością limitu czasu wynoszącą 10 minut. Skopiuj ten tekst do pliku Ldappolicy.ldf, a następnie uruchom następujące polecenie, gdzie katalog główny lasu jest nazwą wyróżniającą katalogu głównego lasu. Pozostaw wartość DC=X tak, jak jest. Jest to stała, która zostanie zastąpiona przez nazwę głównej lasu podczas uruchamiania skryptu. Stała X nie wskazuje nazwy kontrolera domeny.
ldifde -i -f ldappolicy.ldf -v -c DC=X DC= forest root
Uruchamianie skryptu Ldifde
dn: CN=Extended Timeout,CN=Query-Policies,CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,DC=X
changetype: add
instanceType: 4
lDAPAdminLimits: MaxReceiveBuffer=10485760
lDAPAdminLimits: MaxDatagramRecv=1024
lDAPAdminLimits: MaxPoolThreads=4
lDAPAdminLimits: MaxResultSetSize=262144
lDAPAdminLimits: MaxTempTableSize=10000
lDAPAdminLimits: MaxQueryDuration=300
lDAPAdminLimits: MaxPageSize=1000
lDAPAdminLimits: MaxNotificationPerConn=5
lDAPAdminLimits: MaxActiveQueries=20
lDAPAdminLimits: MaxConnIdleTime=900
lDAPAdminLimits: InitRecvTimeout=120
lDAPAdminLimits: MaxConnections=5000
objectClass: queryPolicy
showInAdvancedViewOnly: TRUE
Po zaimportowaniu pliku możesz zmienić wartości zapytania przy użyciu pliku Adsiedit.msc lub Ldp.exe. Ustawienie MaxQueryDuration w tym skrypcie wynosi 5 minut.
Aby połączyć zasady z kontrolerem domeny, użyj pliku importu LDIF w następujący sposób:
dn: CN=NTDS
Settings,CN=DC1,CN=Servers,CN=site1,CN=Sites,CN=Configuration, DC=X
changetype: modify
add: queryPolicyobject
queryPolicyobject: CN=Extended Timeout,CN=Query-Policies,CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,DC=X
Zaimportuj go przy użyciu następującego polecenia:
ldifde -i -f link-policy-dc.ldf -v -c DC=X DC= **forest root**
W przypadku lokacji plik importu LDIF będzie zawierać:
dn: CN=NTDS Site Settings,CN=site1,CN=Sites,CN=Configuration, DC=X
changetype: modify
add: queryPolicyobject
queryPolicyobject: CN=Extended Timeout,CN=Query-Policies,CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,DC=X
Uwaga
Ntdsutil.exe wyświetla tylko wartość w domyślnych zasadach zapytania. Jeśli zdefiniowano jakiekolwiek zasady niestandardowe, nie są one wyświetlane przez Ntdsutil.exe.
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla