A major (maybe the most important) feature introduced with Windows 2000 is Active Directory. Active Directory is a directory service that provides a central, hierarchical store for user information, network resources, services, and so on. It is also possible to extend the information in this directory service in order to store custom data that is of interest for the enterprise.
For example, Microsoft Exchange Server 2003 and Microsoft CRM use Active Directory intensively to store public folders and other items.
Before the release of Active Directory, Exchange Server used its own private store for its objects. It was necessary for a system administrator to configure two user IDs for a single person: a user account in the Windows NT domain to enable a logon, and a user in Exchange Directory. This was necessary for the additional information required by users (such as e-mail addresses, phone numbers, and so on), and the user information for the NT domain was not extensible to add the required information. Now the system administrator just has to configure a single user for a person in Active Directory; the information for a user object can be extended so that it fits the requirements of Exchange Server. You can also extend this information.
If you require the user information to be extended with a skills list, storing user information in the Active Directory makes this possible. Here it would easily be possible to track down a C# developer by searching for the required C# skill.
This chapter looks at how you can use the .NET Framework to access and manipulate the data in a directory service using classes from the System.DirectoryServices namespace.
Note | This chapter uses Windows Server 2003 with Active Directory configured. You can also use Windows 2000 Server or other directory services with small modifications to the code presented here. |
This chapter covers the following:
The architecture of Active Directory, including features and basic concepts
Some of the tools available for administration of Active Directory, and their benefit to programming
How to read and modify data in Active Directory
Searching for objects in Active Directory
Accessing a DSML Web service to search for objects
After discussing the architecture and how to program Active Directory, you create a Windows application where you can specify properties and a filter to search for user objects. Similar to other chapters, you can also download the code for the examples in this chapter from the Wrox Web site at www.wrox.com.