Visa och ange LDAP-princip i Active Directory med hjälp av Ntdsutil.exe
I den här artikeln beskrivs hur du hanterar LDAP-principer (Lightweight Directory Access Protocol) med hjälp av verktyget Ntdsutil.exe.
Ursprungligt KB-nummer: 315071
Sammanfattning
För att se till att domänkontrollanter har stöd för garantier på tjänstnivå måste du ange driftsgränser för många LDAP-åtgärder. Dessa begränsningar förhindrar att specifika åtgärder påverkar serverns prestanda negativt. De gör också servern mer motståndskraftig mot vissa typer av attacker.
LDAP-principer implementeras med hjälp av klassens queryPolicy
objekt. Frågeprincipobjekt kan skapas i containern Frågeprinciper, som är underordnad katalogtjänstcontainern i konfigurationsnamngivningskontexten. Till exempel cn=Query-Policies,cn=Directory Service,cn=Windows NT,cn=Services configuration naming context.
LDAP-administrationsgränser
LDAP-administrationsgränserna är:
InitRecvTimeout – Det här värdet definierar den maximala tiden i sekunder som en domänkontrollant väntar på att klienten ska skicka den första begäran efter att domänkontrollanten har tagit emot en ny anslutning. Om klienten inte skickar den första begäran under den här tidsperioden kopplar servern från klienten.
Standardvärde: 120 sekunder
MaxActiveQueries – Det maximala antalet samtidiga LDAP-sökåtgärder som tillåts köras samtidigt på en domänkontrollant. När den här gränsen har nåtts returnerar LDAP-servern ett upptaget fel.
Default value: 20
Kommentar
Den här kontrollen har en felaktig interaktion med värdet MaxPoolThreads. MaxPoolThreads är en kontroll per processor, medan MaxActiveQueries definierar ett absolut tal. Från och med Windows Server 2003 tillämpas Inte längre MaxActiveQueries. Dessutom visas MaxActiveQueries inte i Windows Server 2003-versionen av NTDSUTIL.
Default value: 20
MaxConnections – det maximala antalet samtidiga LDAP-anslutningar som en domänkontrollant accepterar. Om en anslutning kommer in efter att domänkontrollanten har nått den här gränsen släpper domänkontrollanten en annan anslutning.
Standardvärde: 5 000
MaxConnIdleTime – Den maximala tiden i sekunder som klienten kan vara inaktiv innan LDAP-servern stänger anslutningen. Om en anslutning är inaktiv under mer än den här tiden returnerar LDAP-servern ett LDAP-frånkopplingsmeddelande.
Standardvärde: 900 sekunder
MaxDatagramRecv – Den maximala storleken på en datagrambegäran som en domänkontrollant ska bearbeta. Begäranden som är större än värdet för MaxDatagramRecv ignoreras.
Standardvärde: 4 096 byte
MaxNotificationPerConnection – Det maximala antalet utestående meddelandebegäranden som tillåts för en enda anslutning. När den här gränsen har nåtts returnerar servern ett upptaget fel till alla nya meddelandesökningar som utförs på den anslutningen.
Standardvärde: 5
MaxPageSize – Det här värdet styr det maximala antalet objekt som returneras i ett enda sökresultat, oberoende av hur stort varje returnerat objekt är. Om du vill utföra en sökning där resultatet kan överskrida det här antalet objekt måste klienten ange den sidiga sökkontrollen. Det är för att gruppera de returnerade resultaten i grupper som inte är större än MaxPageSize-värdet. För att sammanfatta kontrollerar MaxPageSize antalet objekt som returneras i ett enda sökresultat.
Standardvärde: 1 000
MaxPoolThreads – Det maximala antalet trådar per processor som en domänkontrollant ägnar åt att lyssna efter nätverksindata eller utdata (I/O). Det här värdet avgör också det maximala antalet trådar per processor som kan arbeta med LDAP-begäranden samtidigt.
Standardvärde: 4 trådar per processor
MaxResultSetSize – Mellan de enskilda sökningar som utgör en sökning med sidresultat kan domänkontrollanten lagra mellanliggande data för klienten. Domänkontrollanten lagrar dessa data för att påskynda nästa del av den sidiga resultatsökningen. MaxResultSize-värdet styr den totala mängden data som domänkontrollanten lagrar för den här typen av sökning. När den här gränsen har nåtts tar domänkontrollanten bort det äldsta av dessa mellanliggande resultat för att göra plats för att lagra nya mellanliggande resultat.
Standardvärde: 262 144 byte
MaxQueryDuration – Den maximala tiden i sekunder som en domänkontrollant kommer att spendera på en enda sökning. När den här gränsen har nåtts returnerar domänkontrollanten felet "timeLimitExceeded". Sökningar som kräver mer tid måste ange den sidiga resultatkontrollen.
Standardvärde: 120 sekunder
MaxTempTableSize – När en fråga bearbetas
dblayer
kan du försöka skapa en tillfällig databastabell att sortera och välja mellanliggande resultat från. MaxTempTableSize-gränsen styr hur stor den här temporära databastabellen kan vara. Om den tillfälliga databastabellen skulle innehålla fler objekt än värdet för MaxTempTableSize,dblayer
utför en mycket mindre effektiv parsning av den fullständiga DS-databasen och alla objekt i DS-databasen.Standardvärde: 10 000 poster
MaxValRange – Det här värdet styr antalet värden som returneras för ett attribut för ett objekt, oberoende av hur många attribut objektet har eller hur många objekt som fanns i sökresultatet. I Windows 2000 hårdkodas den här kontrollen till 1 000. Om ett attribut har fler än det antal värden som anges av MaxValRange-värdet måste du använda värdeintervallkontroller i LDAP för att hämta värden som överskrider MaxValRange-värdet. MaxValueRange styr antalet värden som returneras för ett enda attribut på ett enda objekt.
- Minsta värde: 30
- Standardvärde: 1500
Starta Ntdsutil.exe
Ntdsutil.exe finns i mappen Supportverktyg på Windows-installationens CD-ROM. Som standard installeras Ntdsutil.exe i mappen System32.
- Klicka på Start och därefter på Kör.
- I textrutan Öppna skriver du ntdsutil och trycker sedan på RETUR. Om du vill visa hjälp när som helst skriver du
?
i kommandotolken.
Visa aktuella principinställningar
- I kommandotolken Ntdsutil.exe skriver du
LDAP policies
och trycker sedan på RETUR. - I kommandotolken för LDAP-princip skriver du
connections
och trycker sedan på RETUR. - I kommandotolken för serveranslutning skriver du
connect to server <DNS name of server>
och trycker sedan på RETUR. Du vill ansluta till den server som du arbetar med för närvarande. - I kommandotolken för serveranslutning skriver du
q
och trycker sedan på RETUR för att återgå till föregående meny. - I kommandotolken för LDAP-princip skriver du
Show Values
och trycker sedan på RETUR.
En visning av principerna som de finns visas.
Ändra principinställningar
I kommandotolken Ntdsutil.exe skriver du
LDAP policies
och trycker sedan på RETUR.I kommandotolken för LDAP-princip skriver du
Set <setting> to <variable>
och trycker sedan på RETUR. Skriv till exempel Ange MaxPoolThreads till 8.Den här inställningen ändras om du lägger till ytterligare en processor på servern.
Du kan använda
Show Values
kommandot för att verifiera dina ändringar.Spara ändringarna genom att använda Checka in ändringar.
När du är klar skriver du
q
och trycker sedan på RETUR.Om du vill avsluta Ntdsutil.exe skriver du i kommandotolken
q
och trycker sedan på RETUR.
Kommentar
Den här proceduren visar endast standardinställningarna för domänprincip. Om du använder din egen principinställning kan du inte se den.
Omstartskrav
Om du ändrar värdena för den frågeprincip som en domänkontrollant använder för närvarande, träder dessa ändringar i kraft utan omstart. Men om en ny frågeprincip skapas krävs en omstart för att den nya frågeprincipen ska börja gälla.
Överväganden för att ändra frågevärden
För att upprätthålla domänserverns återhämtning rekommenderar vi inte att du ökar tidsgränsvärdet på 120 sekunder. Att skapa effektivare frågor är en föredragen lösning. Mer information om hur du skapar effektiva frågor finns i Skapa effektivare Microsoft Active Directory-aktiverade program.
Men om det inte är ett alternativ att ändra frågan ökar du bara timeout-värdet på en domänkontrollant eller bara på en plats. Instruktioner finns i nästa avsnitt. Om inställningen tillämpas på en domänkontrollant minskar du DNS LDAP-prioriteten på domänkontrollanten, så att klienterna med mindre sannolikhet använder servern för autentisering. På domänkontrollanten med ökad prioritet använder du följande registerinställning för att ange LdapSrvPriority
:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters
På menyn Redigera väljer du Lägg till värde och lägger sedan till följande registervärde:
- Postnamn: LdapSrvPriority
- Datatyp: REG_DWORD
- Värde: Ange värdet till värdet för den prioritet du vill ha.
Mer information finns i Så här optimerar du platsen för en domänkontrollant eller global katalog som finns utanför en klients plats.
Instruktioner för att konfigurera per domänkontrollant eller per platsprincip
Skapa en ny frågeprincip under CN=Query-Policies,CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration, forest root.
Ange domänkontrollanten eller platsen så att den pekar på den nya principen genom att ange det unika namnet på den nya principen i attributet Query-Policy-Object . Attributets plats är följande:
Platsen för domänkontrollanten är CN=NTDS Settings, CN= DomainControllerName, CN=Servers,CN= site name,CN=Sites,CN=Configuration, forest root.
Platsen för platsen är CN=NTDS Site Settings,CN= site name,CN=Sites,CN=Configuration, forest root.
Exempelskript
Du kan använda följande text för att skapa en Ldifde-fil. Du kan importera den här filen för att skapa principen med ett tidsgränsvärde på 10 minuter. Kopiera den här texten till Ldappolicy.ldf och kör sedan följande kommando, där skogsroten är det unika namnet på din skogsrot. Lämna DC=X som den är. Det är en konstant som ersätts av skogens rotnamn när skriptet körs. Konstanten X anger inte ett domännamn för domänkontrollanten.
ldifde -i -f ldappolicy.ldf -v -c DC=X DC= forest root
Starta Ldifde-skript
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
När du har importerat filen kan du ändra frågevärdena med hjälp av Adsiedit.msc eller Ldp.exe. Inställningen MaxQueryDuration i det här skriptet är 5 minuter.
Om du vill länka principen till en domänkontrollant använder du en LDIF-importfil så här:
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
Importera den med hjälp av följande kommando:
ldifde -i -f link-policy-dc.ldf -v -c DC=X DC= **forest root**
För en webbplats innehåller LDIF-importfilen:
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
Kommentar
Ntdsutil.exe visar bara värdet i standardfrågeprincipen. Om några anpassade principer har definierats visas de inte av Ntdsutil.exe.