Performing initial setup:
[DC1] LDAP bind failed with error 31
When you try to use network resources from the console of an affected domain controller, including Universal Naming Convention (UNC) resources or mapped network drives, you may receive the following error message:
The Netdiag tool may display the following error messages:
[WARNING] Cannot call DsBind to <servername>.<fqdn> (<ip address>). [ERROR_DOMAIN_CONTROLLER_NOT_FOUND]
Kerberos test. . . . . . . . . . . : Failed
[FATAL] Kerberos does not have a ticket for krbtgt/<fqdn>.
[FATAL] Kerberos does not have a ticket for <hostname>.
LDAP test. . . . . . . . . . . . . : Passed
[WARNING] Failed to query SPN registration on DC <hostname>\<fqdn>
- Method 1: Fix Domain Name System (DNS) errors.
- Method 2: Synchronize the time between computers.
- Method 3: Check the Access this computer from the network user rights.
- Method 4: Verify that the domain controller's userAccountControl attribute is 532480.
- Method 5: Fix the Kerberos realm (confirm that the PolAcDmN registry key and the PolPrDmN registry key match).
- Method 6: Reset the machine account password, and then obtain a new Kerberos ticket.
Method 1: Fix DNS errors
- At a command prompt, run the netdiag -v command. This command creates a Netdiag.log file in the folder where the command was run.
- Resolve any DNS errors in the Netdiag.log file before you continue. The Netdiag tool is in the Windows 2000 Server Support Tools on the Windows 2000 Server CD-ROM or as a download. To download the Windows 2000 Server Support Tools, visit the following Microsoft Web site:
- Make sure that DNS is configured correctly. One of the most common DNS mistakes is to point the domain controller to an Internet Service Provider (ISP) for DNS instead of pointing DNS to itself or to another DNS server that supports dynamic updates and SRV records. We recommend that you point the domain controller to itself or to another DNS server that supports dynamic updates and SRV records. We recommend that you set up forwarders to the ISP for name resolution on the Internet.
Method 2: Synchronize the time between computersVerify that the time is correctly synchronized between domain controllers. Additionally, verify that the time is correctly synchronized between client computers and domain controllers.
For more information about how to configure the Windows Time service, click the following article numbers to view the articles in the Microsoft Knowledge Base:
Method 3: Check the "Access this computer from the network" user rightsModify the Gpttmpl.inf file to confirm that the appropriate users have the Access this computer from the network user right on the domain controller. To do this, follow these steps:
- Modify the Gpttmpl.inf file for the Default Domain Controllers Policy. By default, the Default Domain Controllers Policy is where user rights are defined for a domain controller. By default, the Gpttmpl.inf file for the Default Domain Controllers Policy is located in the following folder.
Note Sysvol may be in a different location, but the path for the Gpttmpl.inf file will be the same.
For Windows Server 2003 domain controllers:
For Windows 2000 Server domain controllers:
- To the right of the SeNetworkLogonRight entry, add the security identifiers for Administrators, for Authenticated Users, and for Everyone. See the following examples.
For Windows Server 2003 domain controllers:
SeNetworkLogonRight = *S-1-5-32-554,*S-1-5-9,*S-1-5-32-544,*S-1-1-0
For Windows 2000 Server domain controllers:
SeNetworkLogonRight = *S-1-5-11,*S-1-5-32-544,*S-1-1-0
Note Administrators (S-1-5-32-544), Authenticated Users (S-1-5-11), Everyone (S-1-1-0), and Enterprise Controllers (S-1-5-9) use well-known security identifiers that are the same in every domain.
- Remove any entries to the right of the
SeDenyNetworkLogonRight entry (Deny access to this computer from the network) to match the following example.
Note The example is the same for Windows 2000 Server and for Windows Server 2003.
By default , Windows 2000 Server has no entries in the SeDenyNetworkLogonRight entry. By default, Windows Server 2003 has only the Support_random string account in the SeDenyNetworkLogonRight entry. (The Support_random string account is used by Remote Assistance.) Because the Support_random string account uses a different security identifier (SID) in every domain, the account is not easily distinguishable from a typical user account just by looking at the SID. You may want to copy the SID to another text file, and then remove the SID from the SeDenyNetworkLogonRight entry. That way, you can put it back when you are finished troubleshooting the problem.
SeNetworkLogonRight and SeDenyNetworkLogonRight can be defined in any policy. If the previous steps do not resolve the issue, check the Gpttmpl.inf file in other policies in Sysvol to confirm that the user rights are not also being defined there. If a Gpttmpl.inf file contains no reference to SeNetworkLogonRight or to SeDenyNetworkLogonRight, those settings are not defined in the policy and that policy is not causing this issue. If those entries do exist, make sure that they match the settings listed earlier for the Default Domain Controller policy.
Method 4: Verify that the domain controller's userAccountControl attribute is 532480
- Click Start, click Run, and then type adsiedit.msc.
- Expand Domain NC, expand
DC=domain, and then expand
- Right-click the affected domain controller, and then click
- In Windows Server 2003, click to select the Show mandatory attributes check box and the Show optional attributes check box on the Attribute Editor tab. In Windows 2000 Server, click Both in the Select which properties to view box.
- In Windows Server 2003, click
userAccountControl in the Attributes box. In Windows 2000 Server, click userAccountControl in the
Select a property to view box.
- If the value is not 532480, type
532480 in the Edit Attribute box, click
Set, click Apply, and then click
- Quit ADSI Edit.
Method 5: Fix the Kerberos realm (confirm that the PolAcDmN registry key and the PolPrDmN registry key match)Note This method is valid only for Windows 2000 Server.
Important This section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, click the following article number to view the article in the Microsoft Knowledge Base:
- Start Registry Editor.
- In the left pane, expand
- On the Security menu, click
Permissions to grant the Administrators local group Full Control of the SECURITY hive and its child containers and objects.
- Locate the HKEY_LOCAL_MACHINE\SECURITY\Policy\PolPrDmN key.
- In the right pane of Registry Editor, click the
<No Name>: REG_NONE entry one time.
- On the View menu, click Display Binary Data. In the Format section of the dialog box, click Byte.
- The domain name appears as a string in the right side of the Binary Data dialog box. The domain name is the same as the Kerberos realm.
- Locate the HKEY_LOCAL_MACHINE\SECURITY\Policy\PolACDmN registry key.
- In the right pane of Registry Editor, double-click the
<No Name>: REG_NONE entry.
- In the Binary Editor dialog box, paste the value from PolPrDmN. (The value from PolPrDmN will be the NetBIOS domain name).
- Restart the domain controller.
Method 6: Reset the machine account password, and then obtain a new Kerberos ticket
- Stop the Kerberos Key Distribution Center service, and then set the startup value to Manual.
- Use the Netdom tool from the Windows 2000 Server Support Tools or from the Windows Server 2003 Support Tools to reset the domain controller's machine account password:
netdom resetpwd /server:another domain controller/userd:domain\administrator /passwordd:administrator password
Make sure that the netdom command is returned as completed successfully. If it is not, the command did not work. For the domain Contoso, where the affected domain controller is DC1, and a working domain controller is DC2, you run the following netdom command from the console of DC1:
netdom resetpwd /server:DC2 /userd:contoso\administrator /passwordd:administrator password
- Restart the affected domain controller.
- Start the Kerberos Key Distribution Center service, and then set the startup setting to Automatic.
For more information about this issue, click the following article numbers to view the articles in the Microsoft Knowledge Base:
Article ID: 837513 - Last Review: Mar 15, 2008 - Revision: 1