Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

We're on a corporate network thats running active directory and we'd like to test out some LDAP stuff (active directory membership provider, actually) and so far, none of us can figure out what our LDAP connection string is. Does anyone know how we can go about finding it? The only thing we know is the domain that we're on.

share|improve this question
up vote 76 down vote accepted

The ASP.NET Active Directory Membership Provider does an authenticated bind to the Active Directory using a specified username, password, and "connection string". The connection string is made up of the LDAP server's name, and the fully-qualified path of the container object where the user specified is located.

The connection string begins with the URI LDAP://.

For the server name, you can use the name of a domain controller in that domain-- let's say "". That gives us LDAP:// thusfar.

The next bit is the fully qualified path of the container object where the binding user is located. Let's say you're using the "Administrator" account and your domain's name is "". The "Administrator" account is in a container named "Users" located one level below the root of the domain. Thus, the fully qualified DN of the "Users" container would be: CN=Users,DC=corp,DC=domain,DC=com. If the user you're binding with is in an OU, instead of a container, the path would include "OU=ou-name".

So, using an account in an OU named Service Accounts that's a sub-OU of an OU named Corp Objects that's a sub-OU of a domain named would have a fully-qualified path of OU=Service Accounts,OU=Corp Objects,DC=corp,DC=domain,DC=com.

Combine the LDAP:// with the fully qualified path to the container where the binding user is located (like, say, LDAP:// Accounts,OU=Corp Objects,DC=corp,DC=domain,DC=com) and you've got your "connection string".

(You can use the domain's name in the connection string as opposed to the name of a domain controller. The difference is that the domain's name will resolve to the IP address of any domain controller in the domain. That can be both good and bad. You're not reliant on any single domain controller to be up and running for the membership provider to work, but the name happens to resolve to, say, a DC in a remote location with spotty network connectivity then you may have problems with the membership provider working.)

share|improve this answer
With SBS 2008 at least, it looks like they've started conforming to the standard "OU" prefix in the string for the OUs: CN=Your Name,OU=Users,DC=example,DC=local We're running functional level 2003. – gravyface Apr 8 '10 at 14:29
Great answer. Can I provide the login details of the querying account to the foreign domain controller in the connection string? – Dan Jun 28 '11 at 9:06
Thanks, so much. I've been trying to find an explanation like this. – zeocrash Sep 13 '12 at 10:45
So you mean that, the remote machine accessing ActiveDirectory should be in its own domain? What if my local machine is not in its domain? If my machine is in a workgroup, do I need to pass 2 credentials to authenticate a user? I mean, One to login to WindowsServer machine and the other is to validate ActiveDirectory user's username and password. Am I right? – Dinesh Kumar P Feb 24 '15 at 6:05
@ArthurRonald - Unprivileged users can bind to and query Active Directory, by default. In fact, it's probably best if you use an unprivileged users. Active Directory has a fairly rich ACL model, and you can control access to objects and attributes in a very granular fashion. You should bind with an account that has enough privilege to do you what you need but no more. – Evan Anderson Nov 3 '15 at 22:31

I just use this tool from Softerra (they make an excellent freeware LDAP Browser) to get the User DN from the currently-logged in user:

share|improve this answer
Step 1: At the "Credentials" step, select "Currently logged-in user (ActiveDirectory only)". Step 2: When the connection is created, in its Properties go to the "Entry" tab and copy the URL. Step 3: Use that URL together with the the DN found with ErJab's solution. – Nicolas Raoul Oct 21 '13 at 6:18

Type dsquery /? in a command prompt.

Eg: dsquery user -name Ja* gets the connection strings for all users with names starting in Ja*.

share|improve this answer
I like this approach, it gives the correct ordering of OUs and such. To make it obvious, to use this take LDAP:// and the output from the command & combine them in order to form an ldap string quiet easily. – RandomUs1r Sep 10 '14 at 15:48

I always had problems finding the correct way to type out the OU. The command dsquery ou domainroot will give you a list of the correct names of all the OUs in your domain. Not sure if this will help for a larger organization.

share|improve this answer
  1. Install Remote Server Administration Tools:

  2. Open a command prompt and enter >dsquery server

For more information, please check this post (bottom of the post):

share|improve this answer

The full syntax is at

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.