Windows Server 2008 R2 Active Directory Domain Services Primer : Outlining AD DS’s Components

1/18/2011 3:10:38 PM
The main components of AD DS were designed to be highly configurable and secure. AD DS and all it contains are physically located in a database file but are composed of a wide assortment of objects and their attributes. Many of these characteristics are familiar to those acquainted with other directory services products, but there are some new additions as well.

Understanding AD DS’s X.500 Roots

AD DS loosely follows, but does not exactly conform to, the X.500 directory services information model. In a nutshell, X.500 defines a directory service through a distributed approach defined by a Directory Information Tree (DIT). This logically divides a directory service structure into the now familiar layout. In X.500, directory information is stored across the hierarchical layout in what are called Directory System Agents (DSAs). Microsoft designed AD DS around many of the basic principles of the X.500 definition, but AD DS itself is not compatible with X.500 implementations, as X.500 follows an OSI model that is inefficient under the TCP/IP implementation that AD DS follows.

Conceptualizing the AD DS Schema

The AD DS schema is a set of definitions for all object types in the directory and their related attributes. The schema determines the way that all user, computer, and other object data are stored in AD DS and configured to be standard across the entire AD DS structure. Secured by the use of discretionary access control lists (DACLs), the schema controls the possible attributes to each object within AD DS. In a nutshell, the schema is the basic definition of the directory itself and is central to the functionality of a domain environment. Care should be taken to delegate schema control to a highly selective group of administrators because schema modification affects the entire AD DS environment.

Schema Objects

Objects within the AD DS structure such as users, printers, computers, and sites are defined in the schema as objects. Each object has a list of attributes that define it and that can be used to search for that object. For example, a user object for the employee named Weyland Wong will have a FirstName attribute of Weyland and a LastName attribute of Wong. In addition, there might be other attributes assigned, such as departmental name, email address, and an entire range of possibilities. Users looking up information in AD DS can make queries based on this information, for example, searching for all users in the Sales department.

Extending the Schema

One of the major advantages to the AD DS structure is the ability to directly modify and extend the schema to provide for custom attributes. A common attribute extension occurs with the installation of Microsoft Exchange Server, which extends the schema, more than doubling it in size. An upgrade from Windows Server 2003 or Windows Server 2008 AD to Windows Server 2008 R2 AD DS also extends the schema to include attributes specific to Windows Server 2008 R2. Many third-party products have their own schema extensions as well, each providing for different types of directory information to be displayed.

Performing Schema Modifications with the AD DS Service Interfaces

An interesting method of actually viewing the nuts and bolts of the AD DS schema is by using the AD DS Service Interfaces (ADSI) utility. This utility was developed to simplify access to the AD DS and can also view any compatible foreign LDAP directory. The ADSIEdit utility, shown in Figure 1, enables an administrator to view, delete, and modify schema attributes. Great care should be taken before schema modifications are undertaken because problems in the schema can be difficult to fix.

Figure 1. Viewing and editing the Active Directory schema using the ADSIEdit utility.

Defining the Lightweight Directory Access Protocol (LDAP)

The Directory Service Protocol that is utilized by AD DS is based on the Internet-standard Lightweight Directory Access Protocol defined by RFC-3377. LDAP allows queries and updates to take place in AD DS. Objects in an LDAP-compliant directory must be uniquely identified by a naming path to the object. These naming paths take two forms: distinguished names and relative distinguished names.

Explaining Distinguished Names in AD

The distinguished name of an object in AD DS is represented by the entire naming path that the object occupies in AD DS. For example, the user named Brian McElhinney can be represented by the following distinguished name:

CN=Brian McElhinney,OU=Sydney,DC=Companyabc,DC=com

The CN component of the distinguished name is the common name, which defines an object within the directory. The OU portion is the organizational unit in which the object belongs. The DC components define the DNS name of the Active Directory domain.

Outlining Relative Distinguished Names

The relative distinguished name of an object is basically a truncated distinguished name that defines the object’s place within a set container. For example, take a look at the following object:


This object would have a relative distinguished name of OU=Sydney. The relative distinguished name in this case defines itself as an organizational unit within its current domain container.

Detailing Multimaster Replication with AD DS Domain Controllers

AD DS uses domain controllers (DCs) to authenticate users. These DCs use the concept of multiple domain controllers that each contain a master read/write copy of domain information. Changes that are made on any domain controller within the environment are replicated to all other domain controllers in what is known as multimaster replication.

Conceptualizing the Global Catalog and Global Catalog Servers

The global catalog is an index of the AD DS database that contains a partial copy of its contents. All objects within the AD DS forest are referenced within the global catalog, which allows users to search for objects located in other domains. Not every attribute of each object is replicated to the global catalogs, only those attributes that are commonly used in search operations, such as first name, last name, and so on.

Global catalog servers, commonly referred to as GCs or GC/DCs, are AD DS domain controllers that contain a copy of the global catalog. It is wise to either locate a minimum of one global catalog server in each physical location or utilize Read-Only Domain Controllers (RODCs) in remote sites as the global catalog must be referenced often by clients and the traffic across slower wide area network (WAN) links would limit this traffic. In addition, technologies such as Microsoft Exchange Server need fast access to global catalog servers for all user transactions, making it very important to have a global catalog server nearby. Note that Exchange cannot make use of RODCs or Read-Only Global Catalog (ROGC) servers.

Often, a larger organization will employ the use of multiple domain controllers and multiple global catalog servers in each large location, which distributes load, provides redundancy, and locates resources where they are needed. Choosing the right blend of global catalog servers and domain controllers is vital to the proper functionality of your AD DS environment.

Numbering the Operations Master (OM) Roles

Most domain controller functionality in Windows Server 2000, Windows Server 2003, Windows Server 2008, and Windows Server 2008 R2 was designed to be distributed, multimaster-based. This effectively eliminated the single point of failure that was present with Windows NT primary domain controllers (PDCs). However, five functions still require the use of a single server because their functionality makes it impossible to follow a distributed approach. These Operations Master (OM) roles (previously referred to as FSMO roles) are outlined as follows:

  • Schema master— There is only one writable master copy of the AD DS schema in a single AD DS forest. It was deliberately designed this way to limit access to the schema and to minimize potential replication conflicts. There can be only one schema master in the entire AD DS forest.

  • Domain naming master— The domain naming master is responsible for the addition of domains into the AD DS forest. This OM role must be placed on a global catalog server because it must have a record of all domains and objects to perform its function. There can be only one domain naming master in a forest.

  • PDC emulator— This role used to exist to emulate the legacy Windows NT 4.0 primary domain controller (PDC) for down-level clients. With Windows Server 2008 R2, the PDC emulator still performs certain roles, such as acting as the primary time sync server for the domain. There is one PDC emulator FSMO role per AD DS domain.

  • RID master— All objects within AD DS that can be assigned permissions are uniquely identified through the use of a security identifier (SID). Each SID is composed of a domain SID, which is the same for each object in a single domain, and a relative identifier (RID), which is unique for each object within that domain. When assigning SIDs, a domain controller must be able to assign a corresponding RID from a pool that it obtains from the RID master. When that pool is exhausted, it requests another pool from the RID master. If the RID master is down, you might not be able to create new objects in your domain if a specific domain controller runs out of its allocated pool of RIDs. There is one RID master per AD DS domain.

  • Infrastructure master— The infrastructure master manages references to domain objects not within its own domain. In other words, a DC in one domain contains a list of all objects within its own domain, plus a list of references to other objects in other domains in the forest. If a referenced object changes, the infrastructure master handles this change. Because it deals with only referenced objects and not copies of the object itself, the infrastructure master must not reside on a global catalog server in multiple domain environments. The only exceptions to this are if every domain controller in your domain is a global catalog server or if you are in a single-domain environment. In the first case, there is no need to reference objects in other domains because full copies are available. In the second case, the infrastructure master role is not utilized because all copies of objects are local to the domain.

Transfer of an OM role to another domain controller can be performed as part of regular maintenance, or in the case of a disaster recovery situation where an OM server is brought offline, the OM can be seized to be brought back online. This is true for conditions where the schema master, domain naming master, PDC emulator, infrastructure master, or RID master either needs to be moved to another system (transfer) or has gone down and no backup is available (seized). The transfer and seizure of an OM role is done through the use of a command-line tool called ntdsutil, shown in Figure 2. Keep in mind that you should use this utility only in emergency situations and should never bring the old OM server that has had its role seized back online into the domain at risk of some serious system conflicts.

Figure 2. Viewing the ntdsutil utility for AD DS management.

  •  Windows Server 2008 R2 Active Directory Domain Services Primer : Examining AD DS’s Structure
  •  Fine-Tuning Windows 7’s Appearance and Performance : Balancing Appearance and Performance
  •  Windows 7: Customizing Menus and the Control Panel (part 2) - Navigating and Customizing the Control Panel
  •  Windows 7: Customizing Menus and the Control Panel (part 1) - Navigating and Customizing Your Computer’s Menus
  •  Installing Windows Server 2008 R2 and Server Core : Managing and Configuring a Server Core Installation
  •  Installing Windows Server 2008 R2 and Server Core : Understanding Server Core Installation
  •  Installing Windows Server 2008 R2 and Server Core : Upgrading to Windows Server 2008 R2
  •  Windows 7 : Using Desktop Gadgets (part 3) - Using the Stock, Currency, Slide Show gadget
  •  Windows 7 : Using Desktop Gadgets (part 2) - Using the Clock, CPU Meter, Weather gadget
  •  Windows 7 : Using Desktop Gadgets (part 1) - Using the Calendar gadget
  •  Installing a Clean Version of Windows Server 2008 R2 Operating System (part 2) - Finalizing the Installation and Customizing the Configuration
  •  Installing a Clean Version of Windows Server 2008 R2 Operating System (part 1)
  •  Installing Windows Server 2008 R2 and Server Core : Preplanning and Preparing a Server Installation
  •  Customizing Windows 7’s Desktop (part 3) - Getting Around the Taskbar
  •  Customizing Windows 7’s Desktop (part 2) - Getting Around the Start Menu
  •  Customizing Windows 7’s Desktop (part 1) - Getting Around the Desktop
  •  Becoming an Excel Programmer : Navigate Samples and Help
  •  Becoming an Excel Programmer : Write Bug-Free Code
  •  Windows Server 2008 : The Pilot Phase - Validating the Plan to a Limited Number of Users
  •  Windows Server 2008 : The Prototype Phase - Creating and Testing the Plan
    Top 10
    Windows Server 2003 : Domain Name System - Command-Line Utilities
    Microsoft .NET : Design Principles and Patterns - From Principles to Patterns (part 2)
    Microsoft .NET : Design Principles and Patterns - From Principles to Patterns (part 1)
    Brother MFC-J4510DW - An Innovative All-In-One A3 Printer
    Computer Planet I7 Extreme Gaming PC
    All We Need To Know About Green Computing (Part 4)
    All We Need To Know About Green Computing (Part 3)
    All We Need To Know About Green Computing (Part 2)
    All We Need To Know About Green Computing (Part 1)
    Master Black-White Copying
    Most View
    SQL Server 2008 R2 : Creating and Managing Indexes - Types of Indexes
    USB Hard Drive Hangout (Part 2) - Toshiba Canvio plus 3.0 1.5TB, Adata Dashdrive Elite 500GB HE720
    The Ultimate PC Security Toolbox (Part 2)
    SQL Server 2008 : Audit-Related Startup and Shutdown Problems
    Ipad : Presentations with Keynote - Adding Transitions (part 2) - Object Transitions
    Lenovo ThinkCentre M92/M92P Tiny - So Small You May Miss It
    Windows Server 2003 : Network Load-Balancing Clusters (part 1) - NLB Operation Styles and Modes, Port Rules
    Polywell H7700i-400B - Desktop Power In A Tiny Box
    ROG G55VW Gaming Laptop
    Hybrid Ciphers
    How did Webs put the world on maps? (Part 3)
    The AJAX Control Toolkit : Controls in the ACT
    Aros Aero Ares
    Adobe Fireworks CS5 : Selecting and modifying with the Magic Wand tool
    Multifaceted Tests : Attempting XPath Injection Interactively & Attempting Server-Side Includes (SSI) Injection Interactively
    Business Intelligence in SharePoint 2010 with PerformancePoint Services : PerformancePoint Services Overview
    Build A Home Theatre PC (Part 3)
    Toshiba MQ01ABD100 1TB Hard Drive
    Parallel Programming with Microsoft .Net : Pipelines - The Basics
    Building LOB Applications : Data Validation through Data Annotation