The goals of Active Directory include
: It should be easy to get and set properties and to call methods on the Active Directory objects from Automation controllers such as Visual Basic and C/C++.
: New objects, as well as properties and methods on existing objects, can be added.
: Performance must be acceptable for both the scripter and the C/C++ programmer. Client code should be as small as possible.
: Hard-coding the object paths is not flexible, considering all the different environments the code might be running on. In addition, the context within a directory service to which an object might resolve is often difficult to remember. A goal of Active Directory is to minimize the code's knowledge of an object's path so that programs can be namespace-portable.
: The Software Developer Kit (SDK) includes documentation on how providers should implement Active Directory objects. It also includes framework code to aid in provider implementation.
: Initial Active Directory content is based on what customers have said were the most heavily accessed directory service objects that are typically found across different network environments. The current Active Directory specification includes definitions for a user object, group object, DS container-related objects (e.g., country, locality, organization, domain, organizational unit, and computer), print management related objects, service management related objects, and schema management related objects. Active Directory will be implemented in phases in order to incorporate customer feedback as early as possible.
The design of Active Directory should scale seamlessly from client-side implementations to server-side implementations.