At this point, we know just enough about System.DirectoryServices.ActiveDirectory to be dangerous. Instead of an exhaustive study of the entire namespace, we took the approach of focusing on the features most relevant to enterprise developers.
The DirectoryContext class is the starting point for nearly everything else in SDS.AD. We demonstrated how to use it correctly to build some of the core objects such as the Forest, Domain, and DirectoryServer classes. We also discussed how its parameters determine what type of object will be built, what directory we will connect to, and what security context we'll use.
Our favorite feature of SDS.AD is the integration of the Domain Controller Locator. We showed how we can locate domain controllers in Active Directory using a variety of options and demonstrated how to enumerate domain controllers. We got under the hood a little bit and discussed how the Active Directory RPC APIs are used to make all of this work.
We then continued with our discussion of the Active Directory RPC APIs with a listing of what they do and which ones are used in SDS.AD. This deeper understanding helps us to know how SDS.AD does its magic.
We wrapped up with some of our favorite little features in SDS.AD that make our lives easier when programming in plain-old SDS.
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