LDP, packaged as ldp.exe and also known as the Active Directory Browsing Utility, is a graphical tool from Microsoft for performing LDAP operations against any LDAP directory. This utility is bundled with the Windows Admin Pack that comes with each version of Windows, and is distributed with ADAM. Microsoft does not charge separately for this tool or place any special licensing requirements on it (to our knowledge), but it is not available as a separate download.
LDP is often overlooked by administrators because it lacks graphical flash and polish and it does not provide any task-oriented features, such as unlocking or disabling accounts, or resetting passwords. It instead provides a fairly raw interface that is only a few steps removed from actually writing code, and it demands that its users have a reasonable knowledge of LDAP programming in order to use it.
While this low-level utility may not be appropriate for a certain class of administrators, it is nearly perfect for developers writing LDAP code. LDP strips away nearly all of the layers of indirection and lets us execute LDAP commands directly in the tool. This type of interaction translates neatly into .NET directory services code in System.DirectoryServices (SDS) and System.DirectoryServices.Protocols (SDS.P). LDP provides us with a great place to prototype search operations and filters and try out nearly every type of operation LDAP offers, including some that are not available via ADSI. In fact, LDP does not use ADSI at all, but uses the LDAP API directly. This allows us to bypass any issues we might be having with ADSI.
LDP has these additional benefits.
This description only scratches the surface of what LDP can do. Both Ryan and Joe practically live in this tool for serious directory programming work. We suggest you just go get it and start using it right away.
Part I: Fundamentals
Introduction to LDAP and Active Directory
Introduction to .NET Directory Services Programming
Binding and CRUD Operations with DirectoryEntry
Searching with the DirectorySearcher
Advanced LDAP Searches
Reading and Writing LDAP Attributes
Active Directory and ADAM Schema
Security in Directory Services Programming
Introduction to the ActiveDirectory Namespace
Part II: Practical Applications
Part III: Appendixes
Appendix A. Three Approaches to COM Interop with ADSI
Appendix B. LDAP Tools for Programmers
Appendix C. Troubleshooting and Help