Kevin Kocis - Microsoft Active Directory Administration (Sams White Book Series) - Sams (2000)
Kevin Kocis - Microsoft Active Directory Administration (Sams White Book Series) - Sams (2000)
All terms mentioned in this book that are known to be trademarks or service TEAM COORDINATOR
marks have been appropriately capitalized. Sams Publishing cannot attest to Vicki Harding
the accuracy of this information. Use of a term in this book should not be
MEDIA DEVELOPER
regarded as affecting the validity of any trademark or service mark.
JG Moore
Index 321
About the Author
Kevin Kocis, MCSE has been working in the Information Technology field for over 10 years.
He is currently the Manager of Information Technology for a division of a Fortune 100
company, where he strategizes network and server infrastructure, Oracle implementation, and
platform and interoperability issues (Windows, UNIX, and Macintosh). He has written several
articles and reviews for Microsoft Certified Professional magazine. In addition, he has pre-
sented on Windows 2000 Server at TechMentor conferences in Atlanta and San Francisco.
Dedication
This book is dedicated to my loving family, who tolerated the endless piles of drafts, the miles of cat5
cable coiling through the house, the endless supply of MP3 files blaring until midmorning—only a loving
family could tolerate such nonsense. Mucho thanks to Patto mommy, J-man, JordaBean, and Baby Jen.
I love you guys dearly. Thanks for your understanding.
Acknowledgments
Nobody ever writes a book alone. First, doors are opened (thank you, Linda and Dian at MCP
magazine), friendships are created, and your arm is twisted to write (thanks to Harry Brelsford
for introducing me to long nights of solitude). Then publishers confide in you and convince
you that you’re something you’re not—like a writer (thanks to Neil Rowe, Steve Rowe, and all
the editors at Macmillan USA for their encouragement—and their Starbucks). A special thanks
to Michael Schene for his keen eye and great late night conversations. You are truly a diamond
in the technical editing rough, my man!
Thanks to my friends and supporters: Ronnie G, Don Jordan, JJF, and Connie (for the Grand
Canyon). My great vendor contacts at EMC (Jay, Pete, Debra, and who could forget JB!),
InfoTech Systems (Bob and Susan), and TekSystems (Mr. Bill, Nick, and Alicia).
There’s also the music (thanks to Geddy, Neil, and Alex) and the NASCAR races that kept me
in the reality loop (thanks to Jeff, Bobby, and Tony—you guys rock!).
I wish to thank my friends and co-workers who provide me with endless inspiration and work-
load. Thanks, Stango!
A special acknowledgment to Rich and Kayme, my brother and sister, whom I love more than
I tell them and more than they’ll ever know.
A final thanks to my parents, Frank and Mellody Kocis, who are still afraid of computers and
continue to love me unconditionally, regardless of the hell I put them through so many years
ago…
Tell Us What You Think!
As the reader of this book, you are our most important critic and commentator. We value your
opinion and want to know what we’re doing right, what we could do better, what areas you’d
like to see us publish in, and any other words of wisdom you’re willing to pass our way.
As an Associate Publisher for Sams Publishing, I welcome your comments. You can fax, email,
or write me directly to let me know what you did or didn’t like about this book—as well as
what we can do to make our books stronger.
Please note that I cannot help you with technical problems related to the topic of this book,
and that due to the high volume of mail I receive, I might not be able to reply to every mes-
sage.
When you write, please be sure to include this book’s title and author as well as your name
and phone or fax number. I will carefully review your comments and share them with the
author and editors who worked on the book.
Fax: 317-581-4770
Email: [email protected]
Introduction
It’s time for a confession. I completely realize that no book will ever serve as the ultimate
Windows 2000 Active Directory guide. Active Directory’s extensive functionality demands the
capacity of an encyclopedia set, with a matching set to assist in interpreting Microsoft’s lan-
guage. Active Directory is, by far, the most demanding facet of Windows 2000 Server.
Planning for Active Directory is a serious task that should not be taken lightly. Incorporating
planning into this book could have easily doubled its length. Many companies will struggle
with how to get Active Directory just right, others will fight its integration into their current
structure, and many will wait to see who actually jumps on this Active Directory thing. For
these reasons, I chose to focus predominantly on Active Directory administration.
When I was asked to write this book, I set out with some major objectives:
• To write an understandable guide
• To cover the major administrative tasks and issues
• To break down the complexity of Active Directory
As of the writing of this book, the acceptance and sales of Windows 2000 in the enterprise is
not as prolific as Microsoft had hoped. Although I don’t read too much into this, it could mean
any number of things:
Active Directory is too new and unproven.
Active Directory is too difficult to manage.
Test labs are amuck with avid Windows 2000 administrators.
I would like to think the latter.
Despite my long hours buried in endless piles of technical resource papers, reviews, journals,
and correspondence, I realize that I could never give Active Directory justice in a book of this
size. Hopefully, I have provided you with a solid step toward technically mastering Active
Directory.
Because I’ve always been poor at introductions, let’s get on with the show.
Placeholders for variables and expressions appear in monospace italic font. You should
replace the placeholder with the specific value it represents.
This arrow (➥) at the beginning of a line of code means that a single line of code is too long
to fit on the printed page. Continue typing all characters after the ➥ as though they were part
of the preceding line.
NOTE
A Note presents interesting pieces of information related to the surrounding
discussion.
TIP
A Tip offers advice or teaches an easier way to do something.
CAUTION
A Caution advises you about potential problems and helps you steer clear of disaster.
Understanding Active CHAPTER
1
Directory
IN THIS CHAPTER
• Major Technical Features
of Active Directory 4
Manageability
Active Directory has many features that can be categorized into the area of manageability.
These features are important because previous versions of Windows NT were quite lacking in
this area, particularly at the enterprise level. The following sections describe some of the key
manageability enhancements in Active Directory.
Understanding Active Directory
5
CHAPTER 1
Centralized Management 1
Active Directory centrally manages Windows users, clients, and servers through a single con-
UNDERSTANDING
sistent management interface, reducing redundancy and maintenance costs. The Microsoft
DIRECTORY
ACTIVE
Management Console (MMC) is a tool for hosting various administrative consoles, which may
include folders or Web pages. MMC was introduced in Internet Information Services 4.0 (IIS)
but not widely implemented.
Simply put, the MMC is a tool acting as an interface to other tools (called snap-ins). The main
MMC window provides commands and tools for authoring consoles, as shown in Figure 1.1.
The console itself performs no exclusive function. Additional MMC components (snap-ins) are
added for custom administration. Microsoft and third-party companies develop these MMC
snap-ins. Snap-ins always reside in a console and do not function independently.
FIGURE 1.1
The MMC console without snap-ins.
The MMC runs in two modes: author and user. Author mode allows for customization,
whereas user mode restricts a user from saving or modifying the console configuration.
To set the MMC mode, perform the following steps:
1. Go to Start, Run, and type mmc. Then press the Return key (this launches the console).
You can launch the console from a command prompt by typing mmc.
2. Under the Console menu, select Options.
6
NOTE
Intellimirror is a Microsoft term that may disappear in the future as AD matures. The
Intellimirror role has changed since the initial concept of NT5 and now actually
addresses concepts such as Group Policy and software distribution.
Understanding Active Directory
7
CHAPTER 1
Group Policy 1
Group policy allows you to define and control the policies for users, groups, and computers.
UNDERSTANDING
Group policy can be set at the site, domain, or organizational unit (OU) level in Active
DIRECTORY
ACTIVE
Directory.
You can use policies to define the permitted actions and settings for users and computers, such
as logon/logoff scripts, security, and desktop and Registry settings. Policy-based management
simplifies tasks such as operating system updates, installing applications, managing user pro-
files, and locking down desktop systems.
Group policy is powerful and somewhat complicated. Despite its complex nature, most compa-
nies still benefit by implementing some form of Group policy.
NOTE
Group policy can be regarded as a combination of NT 4.0 policies and zero adminis-
tration. For many larger enterprises, NT 4.0 laptops with zero administration proved
restrictive if sites were configured differently (such as no DHCP), and the need arose
to configure the machine locally.
Software Distribution
With Active Directory, you can automatically distribute applications to users. For example, all
engineers can automatically receive CAD or CAM design software on their Windows 2000
client machines.
The Software Installation snap-in is an MMC snap-in that extends Group policy. This snap-in
allows you to manage the installation of software on users’ computers. It does so by two meth-
ods: publishing and assigning software. Assigned software is available on either a per-user or
per-computer basis from the Start menu. Users gain access to published software by using
Add/Remove Programs in Control Panel.
Global Catalog
The Global Catalog (GC) is a subset of Active Directory—an index containing all the objects
in the forest, as well as a subset of each object’s properties. The Global Catalog allows users to
search by selected attributes to find an object easily anywhere in the forest.
The Global Catalog allows users to locate any objects they have appropriate access to. In con-
trast to the Find Computer feature in NT 4.0, users can search for any object within Active
Directory such as servers and printers. You must have proper access to an object you are
searching for in the GC.
8
NOTE
The Global Catalog offers a faster search of AD objects because it contains all the
objects in the forest. However, it holds only certain selected attributes of each object,
allowing for faster searches.
Every domain controller (DC) in a forest stores three full, writable directory partitions: a
domain directory partition, a schema directory partition, and a configuration directory partition.
A Global Catalog server is a domain controller that stores these writable directory partitions, as
well as a partial, read-only copy of all other domain directory partitions in the forest.
Transitive Trusts
In Windows 2000, transitive trust relationships are always two-way trust relationships. A trust
relationship between a Windows 2000 domain and a Windows NT 4.0 domain is always a non-
transitive trust relationship that must be established manually.
A transitive trust works in the following manner: If domain A trusts domain B, and domain B
trusts domain C, then domain A implicitly trusts domain C. A two-way trust implies that
domain C also trusts domain A.
NOTE
In NT 4.0, trust relationships were created explicitly in one direction. Establishing two
one-way trusts created a two-way trust relationship.
For Active Directory to automatically configure a replication topology, all adjacent domain
trust relationships within the forest are two-way and transitive.
In Windows 2000, domains can be joined to a domain tree or forest, and each sub domain
(called a child domain) has an automatic two-way transitive trust established with its parent
domain. Transitive trusts are also applied automatically for all domains that are members of the
domain tree or forest.
Transitive trust agreements greatly reduce the number of trust relationships to manage between
Windows domains. However, these trusts can inhibit authentication response as the domain tree
or forest expands. For more information, see Chapter 3, “Managing Domains, Trusts, and
DNS.”
Understanding Active Directory
9
CHAPTER 1
UNDERSTANDING
Controllers (BDCs) from the Windows 2000 Server structure and the equality of Windows
DIRECTORY
ACTIVE
2000 domain controllers, certain operations must occur at only one domain controller. They are
called single-master operations. The domain controllers hosting these operations are called
operation master roles.
The domain controllers assigned to manage single-master operations are called role owners for
the operations. The five single-master operations include the following:
• Domain Naming Master
• Schema Modification Master
• Primary Domain Controller Emulation Master
• Relative ID Master
• Infrastructure Master
For more information about managing flexible single-master roles, see Chapter 9, “Managing
Updates with Flexible Single-Master Operations.”
Backward Compatibility
Windows 2000 Domain Controllers support a mixed environment of client computers. Pre-
Windows 2000 computers respond as though they are accessing an NT 4.0 domain controller.
WINS name resolution is still supported for down-level clients. For clarification
• Windows 2000-based clients use the DNS name.
• All down-level Windows 9x and Windows NT 4.0-based clients use the NetBIOS name
for backward compatibility (which is created when the domain controller is first
installed).
10
An Active Directory domain can consist of heterogeneous clients, including Windows NT 4.0,
Windows 95 and 98, Macintosh, and UNIX workstations. Although clients have full access to
shared resources within the domain (Macintosh and UNIX may require additional configura-
tion), only Windows 2000 clients and Windows 9x clients (with the Active Directory client
software installed) can use Active Directory to query information about these shared resources.
NOTE
An Active Directory client for NT 4.0 machines is planned for a future release.
Multi-Master Replication
With multi-master replication, any update or modification made to any domain controller is
copied to all the other domain controllers in the same domain. This process ensures that the
directory is available even if a DC fails and assists with controlling bandwidth by providing
multiple copies of the directory across multiple servers.
Security
Security is one of the enhanced features in Active Directory. Windows 2000 and Active
Directory security are completely integrated and more robust than previous versions of NT.
Many new standards and components contribute to this effort; they’re described in the follow-
ing sections.
Kerberos Authentication
Active Directory supports the Kerberos V5 protocol, which provides quick, single sign-on to
Windows 2000-based resources. Additional benefits include mutual and delegated authentica-
tion.
The Kerberos protocol allows negotiation of the encryption algorithm. Most Kerberos imple-
mentations default to the Data Encryption Standard (DES), which has a 56-bit key length.
Although Windows 2000 Kerberos does support DES for interoperability purposes, its default
choice for an encryption algorithm is RC4. In North America, 128-bit RC4 keys are used,
whereas the international version supports only 56-bit keys. A proprietary Windows 2000 envi-
ronment uses only the RC4 algorithm.
For more information on Kerberos, see Chapter 5, “Active Directory Security.”
The Windows 2000 PKI provides the framework of services, technology, protocols, and stan- 1
dards that enable you to deploy and manage a strong information security system.
UNDERSTANDING
The major components of the Windows 2000 public key infrastructure include the following:
DIRECTORY
ACTIVE
• Windows 2000 Certificate Services—issues and manages digital certificates
• Microsoft CryptoAPI and cryptographic service providers (CSPs)—provides crypto-
graphic operations and manages private keys
• Certificate stores—store and manage certificates
For more information on PKI and its related services, see Chapter 5.
Required Authentication
Required authentication allows administrators to determine and require the specific type of
logon needed for user authentication, including Kerberos, x.509 certificate, or NT LAN
Manager (NTLM) (for situations involving backward compatibility).
Attribute-Level Security
All objects in the Active Directory are protected by Access Control Lists (ACLs). ACLs deter-
mine who can see the objects and what actions each user can perform on the objects. An
object’s existence is never revealed to a user without permission to view it. The Global Catalog
(GC) enforces object- and attribute-level security for detailed control of access to information
stored in the directory.
An ACL is a list of Access Control Entries (ACEs) stored with the object it protects. In
Windows 2000, an ACL is stored as a binary value called a security descriptor. Each ACE con-
tains a security identifier (SID), which identifies the principal (user or group) to whom the
ACE applies and information on what type of access the ACE permits or denies.
ACLs on directory objects contain ACEs that apply to the object and ACEs that apply to the
individual attributes of the object. With this new feature, you can control not just who can view
an object, but also what properties the user can see.
For more information about ACLs and ACEs, see Chapter 5.
12
Delegated Administration
Windows 2000 allows you to delegate privileges and rights to different containers and objects
in the directory to certain other lower-level administrators or approved users.
With delegation, you can grant certain rights for containers and subtrees to users and groups,
which eliminates the need for a group of domain administrators to have full control over large
segments of the user population (such as the Enterprise Administrators group). Allowing a des-
ignated user or group in a particular domain or OU to perform administrative tasks alleviates
the administrative burden on higher-level administrators in the enterprise.
Interoperability
A key area of concern for administrators in heterogeneous environments is Active Directory’s
capability to integrate with current and legacy business-critical systems. Although Active
Directory does not provide a client solution allowing UNIX, Novell, and Macintosh to utilize
Active Directory searches, such a solution may be possible in the future through the use of a
third-party utility.
Despite its apparent lacking with Active Directory, Windows 2000 Server still delivers UNIX,
Novell NetWare, Windows NT 4.0, and Macintosh interoperability, allowing you to integrate
Windows 2000 Server into an existing environment. You can introduce Windows 2000 Server
into your environment as it provides migration paths from different systems, devices, and
applications.
Native LDAP
Active Directory is implemented as a native LDAP server that eases interoperability in extranet
environments and e-commerce applications.
Understanding Active Directory
13
CHAPTER 1
NOTE 1
UNDERSTANDING
DIRECTORY
Although Active Directory attempts to maintain itself as a strong meta-directory can-
ACTIVE
didate, many heterogeneous environments may refrain from integrating as such
because of its newness in the directory services arena. AD may need time to prove
itself first, particularly in the areas of reliability and interoperability.
Active Directory reflects Microsoft’s trend toward relying on standard protocols. The
Lightweight Directory Access Protocol (LDAP) is a product of the Internet Engineering Task
Force (IETF). It defines how clients and servers exchange information about a directory. LDAP
versions 2 and 3 are used by Active Directory.
Active Directory servers provide the LDAP service for object location, and LDAP relies on
TCP as the underlying transport layer protocol. Therefore, a client searching for an Active
Directory server within the kevinkocis.com domain, for example, would look up the DNS
record for ldap.tcp.kevinkocis.com.
NOTE
Active Directory uses both DNS and LDAP services to locate objects in Active Directory.
Extensible Schema
In Active Directory, the schema is the set of attributes used to describe a particular object class.
Different types of information must be tracked for different object classes. The schema is
stored within Active Directory just like other objects and can be automatically replicated
throughout your enterprise. It also uses Active Directory security, so you can delegate authority
over the schema to different users and groups. By changing the ACLs on a schema object, an
administrator can allow any user to add or modify attributes for an object class.
Active Directory allows you to extend the directory schema and create new properties and
objects.
For more information on modifying the schema, see Chapter 7, “Managing and Modifying
Active Directory Schema.”
With MSDSS, you can deploy Active Directory and not have to replace your existing NDS
directory or manage two separate directories. You can manage accounts from either directory
and use directory-enabled applications such as Microsoft Exchange 2000.
NOTE
MSDSS is based on DirSync, a proposed IETF standard.
Open APIs
Active Directory can integrate with other applications, directories, and devices through LDAP,
ADSI, and Messaging API (MAPI). ADSI provides an object-oriented interface to the Active
Directory. Administrators who frequently utilize scripts will benefit from ADSI. The LDAP C
API is a lower-level interface. MAPI is supported for backward compatibility only.
DEA Platform
Active Directory provides a directory-enabled application (DEA) platform that lets applica-
tions use the directory to automate installation, distribution, and maintenance.
DEN Platform
Active Directory, combined with hardware and software support from Cisco Systems, intro-
duces a directory-enabled networking (DEN) platform that allows administrators to allocate
network bandwidth and quality of service.
Namespace
A namespace is a defined area where standardized names can be used to symbolically repre-
sent some type of information or data (such as an IP address) and that can be resolved to the
object itself. The domain hierarchy (which will be addressed in a moment) defines a name-
space. In each namespace, specific rules determine how names can be created and used. In the
Understanding Active Directory
15
CHAPTER 1
case of the DNS namespace (and the Active Directory namespace for that matter), the name- 1
space is hierarchically structured and offers rules that allow partitioning of the namespace. The
UNDERSTANDING
Active Directory namespace is directly related to DNS. An example of such a namespace is
DIRECTORY
kevinkocis.com.
ACTIVE
NOTE
An Active Directory forest can have one or more namespaces.
Other namespaces, such as the NetBIOS namespace, are flat (non-hierarchical) and cannot be
partitioned.
Chapter 2 addresses naming conventions in more detail.
Tree
The Active Directory domain tree, like the DNS tree, is created in an inverse fashion with the
root at the top (see Figure 1.2).
.com
kevinkocis.com
na.kevinkocis.com
il.na.kevinkocis.com
FIGURE 1.2
An Active Directory tree.
A tree is a hierarchy of objects and containers. A tree logically displays how objects are con-
nected, or the paths between objects. A tree usually consists of containers, which serve as
repositories for domain objects. A simple directory is a container. A computer network or
domain is also a container. The endpoints on the tree are usually objects called leaf nodes.
These nodes are considered non-containers because they cannot contain other objects.
16
A contiguous subtree is any unbroken path in the tree, including all members of any container
in that path.
A domain tree (a tree) is made up of one or more domains that form a contiguous namespace
and share a common schema and configuration. Domains in a tree are linked together by two-
way transitive trust relationships. The Active Directory is a set of one or more trees.
Forest
A forest is a collection of one or more domain trees that do not form a contiguous namespace
(referred to as noncontiguous or disjointed), even though they share a common schema, config-
uration, and Global Catalog (see Figure 1.3). While trees in a given forest do not share a com-
mon root, they trust each other via transitive hierarchical Kerberos trust relationships. Unlike a
tree, a forest does not need a distinct name. Domain trees are linked together in a forest via
two-way, transitive trusts, allowing users with appropriate permissions to access resources in
any domain in the forest.
.com
north-rim.com kevinkocis.com
na.north-rim.com na.kevinkocis.com
az.na.north-rim.com il.na.kevinkocis.com
FIGURE 1.3
An Active Directory forest.
Domain
A domain is a logical security boundary of a Windows NT or Windows 2000 computer net-
work. The Active Directory is made up of one or more domains. A domain can span more than
one physical location, and hosts its own security policies and security relationships with other
domains. When multiple domains are connected by trust relationships and share a common
schema, configuration, and Global Catalog, you have a domain tree.
Understanding Active Directory
17
CHAPTER 1
UNDERSTANDING
DIRECTORY
tional unit. The OU in Active Directory provides another level of partitioning to the logical
ACTIVE
namespace. OUs act as containers that can contain other OUs and objects, including users,
groups, and computers. You can organize your objects into logical containers depending on
variables such as geography or organizational structure. Group policy is based at the OU level,
making this a critical and important feature of Active Directory.
For more information about Group policy, see Chapter 6.
Site
Unlike domains, sites are related to physical areas. They are not logical, but based on connec-
tivity and proximity.
A site is a location in a network that contains Active Directory servers, and is defined as one or
more well-connected TCP/IP subnets. Microsoft defines “well-connected” as a network where
connectivity is highly reliable and fast (for example, LAN speeds of 10 million bits per second
or greater). Defining a site as a set of subnets allows administrators to quickly and easily con-
figure the Active Directory access and replication topology to take advantage of the physical
network. When a user logs on, the Active Directory client finds DCs in the user’s site. Because
computers in the same site have high network proximity, communication is reliable, fast, and
efficient. Determining the local site at logon time is accomplished easily because the user’s
workstation already knows what TCP/IP subnet it is on, and subnets translate directly to Active
Directory sites.
Logical Differences
Windows NT 4.0 provided four domain models: single domain, master domain, multiple mas-
ter domain, and complete trust domain. These domain models didn’t scale well and as a result
required significant administrative overhead. Enterprise administrators were required to estab-
lish multiple trusts, creating a web of redundant trusts. Administrators who denied trusts where
users required access were forced to set up share permissions with secondary logons. This
process grew quite complex (and it remains so in many large-scale NT 4.0 enterprise imple-
mentations).
18
In Windows 2000, the four domain models have evolved to a complete trust model in which all
trusts are inherently two-way and transitive (except in the case of trusts with NT 4.0 domains,
where they still need to be created manually). This eliminates the requirements of any sec-
ondary logon or creation of “web” trusts and can reduce administrative overhead.
Physical Differences
Windows NT 4.0 used Primary and Backup Domain Controllers (PDCs and BDCs) for authen-
tication. Domains required a single PDC and as many BDCs as necessary for local authentica-
tion. When a PDC failed, one of the BDCs needed to be promoted to the role of PDC.
In Windows 2000, all domain servers are considered domain controllers (DCs). Domain con-
trollers use multi-master replication and automatically “back up” each other in the event of
unavailability.
Windows NT 4.0 required either the NetBIOS service for browsing or authentication in a
routed environment, whereas Windows 2000 Active Directory relies on DNS (WINS for back-
ward compatibility).
The smallest unit of replication in Windows NT 4.0 was the object itself. In Windows 2000,
attributes of objects are the smallest units of replication. This is critical to reduce replication
traffic.
Administrative Differences
In Windows NT 4.0, the SAM database was limited to 40MB (although many enterprises
exceeded this limit successfully). The Windows 2000 Active Directory database size limit is
70TB (that’s a significant difference!). This increase brings the maximum user count from
40,000 or so to one to two million in a single domain.
In Windows NT 4.0, the domain was the smallest unit of authentication and policy. In
Windows 2000, the smallest unit of authentication is the organizational unit (OU). The smallest
unit of security delegation in Windows NT 4.0 was the domain. In Windows 2000, security can
be delegated at the object property level.
In Windows NT 4.0, there was no central repository for information. Each domain was
responsible for centralizing its data but was not searchable. To locate an object, such as a share
or computer, you were required to know the name of the domain and the server where the
object resided. With Active Directory, you can search the entire forest for a computer without
knowing its exact location.
Understanding Active Directory
19
CHAPTER 1
In Windows NT 4.0, sites were nonexistent unless you had installed Microsoft Exchange, 1
whereas in Windows 2000, sites are integral parts of the physical structure.
UNDERSTANDING
DIRECTORY
Microsoft’s View of Meta-directory Services
ACTIVE
Microsoft views Active Directory as a major component of it Meta-directory Services, which
enhances Active Directory by providing these services:
• Directory synchronization
• Unification of object views
• The assignment of authoritative directory sources for an attribute
• A simple and flexible environment
According to Microsoft, future releases of MMS will further integrate with Active Directory
and customer needs by including the following:
• An optimized Active Directory Management Agent to better utilize Active Directory’s
advanced replication protocol.
• All authorized access to the meta-directory namespaces will use Active Directory for
authentication.
• Integration of Microsoft’s Gateway Service for NetWare.
• Integration with Windows 2000 Server.
Data and directory management in today’s enterprises holds many challenges because many
enterprises are managed in a very decentralized manner. A meta-directory collects all the iden-
tity data in one place and provides tools for managing the data, despite its format. This process
substantially reduces administration costs and data duplication.
NOTE
Microsoft Meta-directory Services evolved from ZOOMIT VIA.
Partitions
Partitions are an integral part of the data replication in Active Directory and Novell Directory
Services. AD and NDS handle directory partitions quite differently, as you’ll see in the next
few sections.
Illinois
Chicago
xxxxxxxx
xxxxxxxx
Northbrook Bloomington
xxxxxxxx xxxxxxxx
xxxxxxxx xxxxxxxx
Arizona Florida
xxxxxxxx xxxxxxxx
xxxxxxxx xxxxxxxx
xxxxxxxx xxxxxxxx
xxxxxxxx xxxxxxxx
Domain Partition
DC Partition Replica
FIGURE 1.4
An Active Directory partition design.
With Windows NT 4.0, few companies created domains that spanned sites. With Active
Directory, the domain model expands dramatically because it can effectively manage more
information about every object in a domain. It can also allow administrative delegation to local
administrators and approved users. Lastly, Active Directory’s replication between sites is opti-
mized to reduce the need to create domain boundaries based solely on network bandwidth.
Understanding Active Directory
21
CHAPTER 1
For these reasons, Microsoft expects that most companies will have fewer (but larger) domains 1
when they deploy Windows 2000.
UNDERSTANDING
DIRECTORY
NDS Partitions
ACTIVE
NDS’s partitioning technology takes an object storage approach to dividing the NDS name-
space. Objects are the units of replication within NDS. The latest version of NDS (NDS8) sup-
ports indexed files, but does not recommend exceeding 1,500 objects in a given partition for
performance reasons.
Figure 1.5 shows how NDS might be deployed based on the same customer scenario. In this
scenario, each territory and site would require multiple partitions to store all the objects corre-
sponding to that location.
Illinois
Chicago
xxxxxxxx
xxxxxxxx
Northbrook Bloomington
xxxxxxxx xxxxxxxx
xxxxxxxx xxxxxxxx
Arizona Florida
xxxxxxxx xxxxxxxx
xxxxxxxx xxxxxxxx
xxxxxxxx xxxxxxxx
xxxxxxxx xxxxxxxx
xxxxxxxx
NDS Partition
xxxxxxxx
FIGURE 1.5
An NDS partition design.
From Microsoft’s perspective, NDS’s partitioning scheme can be complex because the contents
of container objects cannot span partitions.
Catalogs
For both Active Directory and NDS, in some situations, storing all possible objects in a single
directory partition is impractical. For this reason, both directory services provide a catalog
feature.
22
NDS Catalogs
NDS provides a mechanism called Catalog Services to create catalogs. Administrators use the
Catalog Service Manager utility to create and manage catalogs. With this utility, you can
define the cataloged partitions and the associated object attributes. The Catalog Service
Manager uses the Dredger to periodically rebuild the catalogs.
Microsoft believes that NDS catalogs have several significant weaknesses. Unlike ADS, NDS
catalogs are not based on incremental updates. The Dredger starts with a blank, flat file and
proceeds to individually query each partition. This process can be time-consuming and may
risk dated information. Also, the “dredged” objects do not retain their access control
properties.
Summary 1
UNDERSTANDING
Active Directory is a directory service developed by Microsoft to provide information and ser-
DIRECTORY
vices to enterprise users. The main features are manageability, security, and interoperability.
ACTIVE
Active Directory Service consists of both the logical and physical structure of the enterprise,
and it attempts to consolidate administrative efforts with its array of new technical features.
It is clear that companies expect to use directory services in a growing number of roles.
Further, companies want to eliminate corporate and geographic boundaries as barriers to doing
business over the Internet, reverse the trend toward proliferation of role-specific directories,
and realize synergy from elements in their network computing environments. Most important,
companies need to make informed decisions now about selecting the directory services that
will support their business needs well into the future. This chapter addressed some of
Microsoft’s issues with Novell’s directory services (NDS) as well.
You will begin exploring more of the technical structure of Active Directory in the following
chapter.
Active Directory Architecture CHAPTER
2
IN THIS CHAPTER
• Subsystem Architecture 26
Subsystem Architecture
In Windows 2000, the two processor access modes are kernel and user. They protect applica-
tions from platform variations by dividing the low-level, platform-specific processes from the
upper-level processes. They also prevent direct access to system code and data.
Applications and services run in user mode where they request system services through an
application programming interface (API) that obtains limited access to system data. The
process is transferred to kernel mode to perform its role in a protected environment. The
process is then transferred back to user mode.
NOTE
The Local Security Authority (LSA), part of the security subsystem in user mode, is the
module where Active Directory runs.
The security reference monitor, which runs in kernel mode, enforces the security rules of the
security subsystem. Access Control Lists (ACLs) protect objects in the Active Directory struc-
ture. Figure 2.1 shows the location of Active Directory within Windows 2000.
The integration of Active Directory and the security subsystem services is critical to the suc-
cess of Windows 2000. First, all directory objects being accessed require authentication (per-
formed by the security subsystem) and then validation of access permissions (performed by the
security subsystem and security reference monitor). The security reference monitor, which sits
in kernel mode, enforces the access control applied to Active Directory objects.
Security Subsystem
As mentioned previously, Active Directory is a subcomponent of the Local Security Authority.
Components of the security subsystem run in the context of the Lsass.exe process and include
the following:
• Local Security Authority
• Net Logon service
• Security Accounts Manager service
Active Directory Architecture
27
CHAPTER 2
ARCHITECTURE
DIRECTORY
ACTIVE
Security Subsystem
POSIX Win32 Local Security Authority (LSA)
Subsystem Subsystem
Directory Service Module
User Mode
Kernel Mode
Executive Services
FIGURE 2.1
Active Directory location within Windows 2000 system.
The security subsystem monitors security policies and accounts in effect on the computer
system.
ARCHITECTURE
through the interfaces. LDAP and Messaging API (MAPI) clients gain access to the directory
DIRECTORY
by calling functions, indicated by one-way arrows into the directory system agent. The SAM
ACTIVE
exists as a separate dynamic-link library (DLL) and can call only entry points exported by the
directory system agent. All other components except the extensible storage engine (Esent.dll)
are in Ntdsa.dll itself and are linked to the functions that they want to call. Because of this sce-
nario, a three-way interaction is required between the three DLLs.
Database Layer
FIGURE 2.2
Active Directory service layers and their corresponding interfaces.
• Database layer This provides an abstraction layer between applications and the data-
base. Calls from applications go through the database layer. They are never made directly
to the database.
• Extensible storage engine(ESE) This engine communicates with records in the direc-
tory data store based on the object’s relative distinguished name (RDN) attribute.
• Data store (Ntds.dit) This item is the Active Directory database and can be modified
only by the ESE database engine. You can administer the file by using the Ntdsutil
command-line tool (see Appendix A for more information on the ntdsutil.exe tool).
Clients obtain access to Active Directory by using one of the following interfaces supported by
Active Directory:
• LDAP/ADSI Lightweight Directory Access Protocol (LDAP) and Active Directory
Service Interfaces (ADSI).
• MAPI Messaging API used by Microsoft Outlook. Outlook clients connect to the DSA
using the MAPI remote procedure call (RPC) Address Book provider interface.
• SAM Pre-Windows 2000 NT versions rely on the SAM interface to connect to the
DSA. Mixed-mode backup domain controllers also use the SAM interface for replication.
• REPL Active Directory DSAs connect to each other by using a proprietary RPC inter-
face during directory replication.
• RPC Remote Procedure Call used over TCP/IP to transmit and synchronize information
of fast, reliable networks. Also acts as an interface allowing remote system processing.
Database Layer
The database layer provides an object view of Active Directory database information and pre-
vents the upper layers of the directory service from directly accessing the underlying database
system. The database layer is an internal interface. No database access is direct to the extensi-
ble storage engine. All calls and requests are routed through the database layer.
Active Directory Architecture
31
CHAPTER 2
ARCHITECTURE
For more information on the data store, see the “Data Storage” section near the end of this
DIRECTORY
chapter.
ACTIVE
Protocols, Interfaces, and Services to Active
Directory
The Active Directory data model is derived from the X.500 model of objects and attributes (or
properties). For example, attributes of a user object could include the user’s name, phone num-
ber, and email address. Note that Active Directory is not an X.500 directory. It does not imple-
ment the X.500 protocols—which include Directory Access Protocol (DAP), Directory System
Protocol (DSP), Directory Information Shadowing Protocol (DISP), and Directory Operational
Binding Management Protocol (DOP). LDAP provides the most important functions offered by
DAP and is designed to work over TCP/IP without the overhead of “enveloping” OSI protocols
over TCP/IP.
NOTE
LDAP is a wire protocol, which means that it manages client and server encapsulation
and requests transmissions.
LDAP was initially used with X.500 directories. LDAPv3 is an industry standard that can be
used with any directory service that implements the LDAP protocol. Active Directory supports
LDAPv2 and LDAPv3.
NOTE
LDAPv3 is backward compatible with LDAPv2. A requirement of an LDAPv3 server is
that an LDAPv2 client can connect to it.
NOTE 2
ARCHITECTURE
RPC over IP is always used with one exception. The exception is for intersite replica-
DIRECTORY
ACTIVE
tion traffic between domain controllers in different domains, and the administrator
has opted to use SMTP.
For more information about Active Directory replication, see Chapter 8, “Managing Sites,
Replication, and Network Traffic.”
Domain Hierarchy
In Windows 2000, a domain defines both an administrative boundary and a security boundary
for a collection of objects that are relevant to a specific group of users on a network.
Administrative privileges do not extend from one domain to other domains, and a domain’s
security policy applies only to security accounts within the domain.
Active Directory is made up of one or more domains. A domain is a security boundary of a
Windows NT or Windows 2000 computer network, where privileges given in one domain do
not carry over to other domains. All objects and organizational units exist within a domain.
Therefore, a Windows 2000 domain, similar to a Windows NT 4.0 domain, may contain com-
puters, user accounts, groups, and contacts.
34
The advantages of setting up your organization using domains include the following:
• The capability to set security policies (administrative rights and permissions) that don’t
cross domain boundaries.
• The capability to delegate administrative authority by domain or organizational unit to
reduce the number of administrators with enterprise-level authority.
• The capability to store object information within a specific domain.
Domains are units of replication and can receive changes to the Active Directory and replicate
them to all other domain controllers in the domain. All domain controllers host a writable copy
of Active Directory.
NOTE
There are some drawbacks to enterprises with multiple domains. See Chapter 5,
“Active Directory Security,” for more information.
.com
kevinkocis.com
(root domain - parent to
sa and na domains)
sa.kevinkocis.com na.kevinkocis.com
(child domain) (child domain)
FIGURE 2.3
Windows 2000 domain hierarchy.
This hierarchical structure is different from the flat domain structure in previous NT versions.
The Windows 2000 domain hierarchy allows you to search multiple domains in one query
because each domain contains information about parent and child domains. This eliminates the
need to know the exact location of an object to locate it. In previous versions of NT, you were
required to know both the domain and the server where the object was located to find it. This
proved to be inefficient in a large enterprise.
Active Directory Architecture
35
CHAPTER 2
NOTE
Although these domain hierarchies have identical names, they represent separate
namespaces. 2
ARCHITECTURE
DIRECTORY
ACTIVE
DNS Naming Conventions
Active Directory uses DNS naming standards to provide support for the mapping of DNS
domain names to IP addresses.
Active Directory domain controllers are identified by their specific services, such as LDAP
servers, domain controllers, and Global Catalog servers.
A DNS hierarchy is enforced by the following requirements:
• A child domain can have exactly one parent domain.
• Two children of the same parent cannot have the same name.
NOTE
Because Active Directory domains use DNS names, these two standards also apply to
Active Directory domains.
In the DNS naming convention, a period (.) separates each portion of a DNS name, as well as
the domain name in the Active Directory’s hierarchical tree structure.
For example, in the DNS domain name il.na.kevinkocis.com, “il,” “na,” “kevinkocis,” and
“com” each correspond to a DNS domain. As illustrated in Figure 2.4, in Active Directory, the
domain name il.na.kevinkocis.com represents a hierarchy in which kevinkocis.com is the root
(topmost) domain, na is a child domain of kevinkocis.com (na.kevinkocis.com), and il is a
child domain of na.kevinkocis.com.
The .com domain is outside Active Directory, although it appears as part of the domain name.
Domains such as .com, .org, and .edu, are top-level domains used on the Internet to classify
organizations by type.
36
.com
kevinkocis.com
na.kevinkocis.com
il.na.kevinkocis.com
FIGURE 2.4
Active Directory hierarchy with DNS names.
The hierarchy of domains is created as a result of contiguous naming, where each subordinate
level appends to the preceding level.
Because every Windows 2000 domain has a DNS name (kevinkocis.com), and every Windows
2000–based computer has a DNS name (dc1.kevinkocis.com), domains and computers are rep-
resented both as objects in Active Directory and as nodes in DNS.
However, the Active Directory domain computer account object is in a different namespace
from the DNS host record that represents the same computer in the DNS zone.
NOTE
The number of trust relationships that are required to connect domains is n–1 where
n is the total number of domains.
If domains in the same organization require different namespaces (for example, because of
acquisition, merger, or strong business independence), create a separate tree for each name-
space. These noncontiguous trees that are linked by trust relationships form a forest. A single
tree with no relationships to other trees is a forest of one tree.
Active Directory Architecture
37
CHAPTER 2
Windows 2000 tree structure relationships for the entire forest are stored in Active Directory as
trust account objects in the System container within a specific domain directory partition.
Information about a domain’s connections to a parent domain is added to the configuration
data that is replicated to every domain in the forest. This way, every domain controller in the
forest knows the tree structure for the entire forest, including knowledge of the links between
trees.
Trees
A tree is a hierarchical arrangement of one or more Windows 2000 domains that share a com-
mon hierarchical naming structure. Endpoints on the tree are usually objects. Nodes in the tree 2
(points at which the tree branches) are containers that hold a group of objects or other contain-
ARCHITECTURE
ers. A tree shows how objects are connected or the path from one object to another (refer to
DIRECTORY
ACTIVE
Figure 2.3).
Standard DNS domain names are used to represent the tree structure (for example, na.kevinko-
cis.com). The first domain in a domain tree is called the root domain (kevinkocis, in this exam-
ple). Additional domains in the same domain tree are called child domains.
Na.kevinkocis.com is a child domain to kevinkocis.com.
Active Directory is considered a namespace, and all domains sharing a common root domain
form a contiguous namespace.
The Windows 2000 domain tree is the enterprise-wide Active Directory. All Windows 2000
domains in a given enterprise should belong to the enterprise domain tree. Enterprises that
need to support non-contiguous DNS names for their domains will need to form a forest.
Forests
A forest consists of one or more trees that do not form a contiguous namespace. Forests allow
organizations to group divisions that operate independently but still need to communicate.
Forests have a root domain, which is the first domain in a forest, and which is necessary for
establishing trust relationships across the domain trees. A forest exists as a set of cross-
reference objects and trust relationships known to the member trees. Domains in trees and
forests also share a common schema and common configuration information. Therefore, an
Exchange organization can span an entire forest, but cannot span multiple forests.
NOTE
Forests will evolve mostly from corporate partnerships and mergers. This will depend
on the current directory structure of each company.
38
You can create multiple forests and trust relationships between specific domains in the various
forests. This lets you grant access to resources and accounts that are outside a particular forest.
However, an Exchange infrastructure cannot span multiple forests.
NOTE
Trust relationships created between domains in different forests are one-way and
nontransitive by default.
Figure 2.5 illustrates forest relationships. Forests are at the top of the hierarchy made up of
trees that contain domains. Domains are made up of other domains or organizational units.
.com
north-rim.com kevinkocis.com
na.north-rim.com na.kevinkocis.com
az.na.north-rim.com il.na.kevinkocis.com
FIGURE 2.5
Active Directory forest structure.
Distinguished Name
The distinguished name is unique and only identifies a single object in the enterprise. LDAP
uniquely identifies every object in the enterprise through a comma-separated list of name val-
ues. The full path to the object is defined by the distinguished name (also known as a DN).
NOTE
No two identical distinguished names can exist in Active Directory. Should two identi-
cal names populate the same group (for example, two users named Chris Smith work
in the marketing department at the same location), you might need to alter your
naming conventions for this particular situation.
Active Directory Architecture
39
CHAPTER 2
The distinguished name contains information for an LDAP client to retrieve the object’s infor-
mation from the directory.
For example, a user named Chris Smith works in the finance department at my pseudo com-
pany. His user account is created in an organizational unit that stores the accounts for finance
department employees working with the general ledger (we’ll abbreviate general ledger as
GL). Chris Smith’s user identifier is CSmith, and he works in the North American branch of
the company. The root domain of the company is kevinkocis.com, and the local domain is
na.kevinkocis.com. The DN for this account would be as follows:
Cn=Csmith,ou=GL,ou=Finance,dc=na,dc=kevinkocis,dc=com 2
Figure 2.6 shows the layers determining the DN.
ARCHITECTURE
DIRECTORY
ACTIVE
cn=CSmith, ou=GL, ou=Finance, dc=na, dc=kevinkocis, dc=com
dc=com
dc=kevinkocis
dc=na
ou=Finance
ou=GL
cn=CSmith
FIGURE 2.6
The distinguished name for the Chris Smith user object.
Note that each part of the DN is associated with an object class, a naming scheme adopted
from LDAP. There are three important rules in terms of class attributes:
• DC is assigned to DNS components.
• OU is assigned to organizational units.
• CN is assigned to all other attributes.
40
The DN reads from most specific to most general, left to right. In the LDAP distinguished
name, the relative distinguished names begin at the left and end at the right with the root name.
MMC snap-in tools for Active Directory do not display the LDAP abbreviations for the naming
attributes domain component (dc=), organizational unit (ou=), or common name (cn=). These
abbreviations are shown only to illustrate how LDAP recognizes the portions of the distin-
guished name. Most Active Directory tools display object names in canonical form (because
distinguished names are difficult to remember), which we’ll address later in this chapter.
NOTE
Each portion of the distinguished name is expressed as attribute_type=value (for
example, cn=CSmith).
NOTE
Two objects can have identical relative distinguished names but still be unique in the
directory because within their respective parent containers, their distinguished names
are not the same. In terms of LDAP, the object cn=CSmith,dc=na,dc=kevinkocis,
dc=com is identified as being different from cn=CSmith,dc=kevinkocis,dc=com.
The relative distinguished name for each object is stored in the Active Directory database and
contains a parent reference of the object.
Active Directory Architecture
41
CHAPTER 2
Naming Attributes
Active Directory follows the attribute naming standards as proposed in Request For Comments
(RFC) 2253, but does not implement all the standards. For example, Active Directory does not
use certain nomenclature, which I’ll address in a moment.
In Active Directory, the attribute type used to describe the object’s relative distinguished name
(in this case, cn=) is called the naming attribute. For example, part of the definition of the class
User is the attribute cn (CommonName) as the naming attribute. For this reason, the relative
distinguished name for user CSmith is expressed as cn=CSmith.
The naming attributes shown in Table 2.1 are used in Active Directory, as described in RFC 2
2253.
ARCHITECTURE
DIRECTORY
ACTIVE
TABLE 2.1 Active Directory Naming Attributes (Default)
Object Class Display Name Naming Attribute LDAP Name
User Common-Name cn
Organizational Organizational- ou
Unit Unit-Name
Domain Domain-Component dc
Other naming attributes described in RFC 2253 (o= for organization and c= for country/region)
are not implemented in Active Directory, even though LDAP recognizes them.
You will use naming attributes (such as DN and RDN) only when you are programming for
LDAP and using ADSI or other scripting or programming languages.
NOTE
The common pronunciation of GUID is gwid.
42
• LDAP Uniform Resource Locator (URL) Active Directory supports LDAP access from
any LDAP-enabled client. An LDAP URL names the server holding Active Directory
services and the attributed name of the object (DN). For example
LDAP://server1.na.kevinkocis.com/cn=csmith,ou=gl,
ou=finance,dc=na,dc=kevinkocis,dc=com
CAUTION
If the name of an organizational unit contains a forward slash character (/) (for exam-
ple, if the OU name was “finance/gl”), the system requires a special escape character
in the form of a backslash (\). This is done to distinguish between forward slashes that
separate parts of the canonical name and the forward slash that is part of the organi-
zational unit name.
The canonical name that appears in Active Directory Users and Computers properties pages
displays the escape character immediately preceding the forward slash in the name of the orga-
nizational unit. For example, if the name of an organizational unit is Finance/GL and the name
of the domain is Kevinkocis.com, the canonical name is displayed as
Kevinkocis.com/Finance\/GL.
Active Directory Architecture
43
CHAPTER 2
ARCHITECTURE
DIRECTORY
Logon Names
ACTIVE
Users gaining access to a domain and its resources require a unique logon name. User accounts
are security principals (objects to which Windows security is applied in the form of authentica-
tion and authorization), and they are authenticated when they log on to the domain or local
computer. They are authorized when they access resources.
User security principals have two types of logon names:
• SAM account name
• User principal name
A SAM account name is required for compatibility with previous Windows NT domains. SAM
account names are flat names compared to DNS hierarchical names.
A user principal name (UPN) is a “friendly” name that is shorter and easier to remember than
the distinguished name. It consists of a shortened name that usually represents the user and the
DNS name of the domain where the user object resides. For example, the user Chris Smith,
who has a user account in the kevinkocis.com domain, might have the user principal name
[email protected]. Because the user’s principal name is independent of the user’s dis-
tinguished name, a user object can be moved or renamed without affecting the user’s logon
name.
NOTE
The user principal name is an attribute (userPrincipalName) of the security principal
object. If this attribute has no value, the default user principal name
<userName>@<DnsDomainName>.
44
You can create additional user principal name suffixes and assign them if you don’t want to use
the default domain name (one example might be a very long DNS domain name). Chris Smith
might want to use [email protected] (instead of [email protected]); see Figure 2.7.
For more information on creating additional UPN suffixes, see Chapter 4, “Managing Users,
Groups, and Computers.”
FIGURE 2.7
Adding a UPN suffix in the Active Directory Domains and Trusts Properties window.
NOTE
Microsoft considers a high-speed link to be 10 million bits per second or faster. For
administrators, a T1 link may be high-speed if its bandwidth is not saturated. The
administrator will also need to decide whether additional sites need to be created to
control traffic.
Active Directory Architecture
45
CHAPTER 2
Active Directory uses replication to ensure that domain controller changes are updated to all
the other domain controllers in the domain. Within a site, Active Directory generates a ring
topology for replication among domain controllers in a domain. This ensures at least two repli-
cation paths from one domain controller to another. Replication can still take place even if a
domain controller is down or offline. If you add or remove a domain controller from the net-
work or a site, Active Directory automatically reconfigures the topology to reflect the change.
For more information, see Chapter 8.
Directory Contents 2
Active Directory contains a variety of objects structured with the use of containers (in the form
ARCHITECTURE
of organizational units—OUs). The directory is also broken into partitions known as directory
DIRECTORY
ACTIVE
partitions or Naming Contexts.
Objects
An object is the basic unit of the Active Directory. It is a distinct, named set of attributes that
represents something concrete, such as a user, printer, computer, or application. Attributes are
the characteristics of the object identified in the directory. Object attributes include information
such as its location and features. A user is considered an object. In Exchange, a user’s
attributes can include its first name (Chris), last name (Smith), and email address
([email protected]), as well as the user’s ability to receive email, which types of email
he can receive, and where he can receive email. Objects are assigned permissions for access
and can be collected and organized in items called containers.
Object Naming
All objects in Active Directory follow naming conventions. There are various naming conven-
tions in Active Directory. Although DNS is an effective tool for Internet name resolution, it
does not accommodate the granularity required for Active Directory naming. LDAP is more
adequate because it can uniquely identify objects in Active Directory.
Containers
A container is any item in the directory tree where objects are added. An obvious example of a
container is a folder. However, you can also use MMC to add tools to items other than folders,
which then also become containers.
The predominant container in Active Directory is the Organizational Unit.
NOTE
Many Windows NT 4.0 domains migrating to Windows 2000 Active Directory can be
converted to OUs in their new domain model and have delegated authority.
Organizational units can contain other organizational units, which means you can create a hier-
archy of containers that can be extended as necessary to model your organization’s hierarchy
within a domain. OUs are also the smallest unit of group policy object application available in
Active Directory.
The three main reasons for using OUs are
• Organizing accounts
• Delegation of authority
• Group policy application
NOTE
An organizational unit cannot contain objects from other domains.
Directory Partitions
In Active Directory, a forest is partitioned into domains. Domain controllers within the same
domain share the same information. Domain controllers from different domains share the same
configuration, schema, and GC information, but do not share the same domain data. The direc-
tory partition, also called a naming context, allows for storage distribution. This enhances the
scalability of the Active Directory database to millions of objects.
Each directory partition contains a subdirectory of objects in the tree. Copies of this partition
can be stored across domain controllers, which are updated through directory replication.
The information stored in Active Directory on every domain controller (whether or not it is a
global catalog server) is partitioned into three categories: domain, schema, and configuration
data. These directory partitions are the units of replication. The three directory partitions
hosted on each domain controller are as follows:
• Configuration partition Contains site and replication topology information, as well as
service and directory partition information. This data is common to all domains in the
domain tree or forest. Configuration data is replicated to all domain controllers in the
forest.
Active Directory Architecture
47
CHAPTER 2
• Schema partition Contains all object types (and their attributes) that can be created in
Active Directory. This data is common to all domains in the domain tree or forest. It
stores class and attribute definitions for all existing and possible Active Directory
objects. Schema partition data is replicated to all domain controllers in the forest.
• Domain NC partition Contains all the objects in the directory for this domain. Updates
to this container are replicated to only domain controllers within the domain and to GC
servers if the update is made to an attribute configured for replication to the Global
Catalog. See Figure 2.8 for the ADSI view of domain partitions.
2
ARCHITECTURE
DIRECTORY
ACTIVE
FIGURE 2.8
The domain partitions as viewed in ADSI Edit.
4. To select the directory partition, under Connection Point, click Naming Context.
5. In the Naming Context list, click a directory partition and then click OK.
NOTE
In the Name box, the name of the directory partition that you selected is displayed.
You can replace this name with a name that better identifies the specific connection.
6. Select the object whose property values you want to view or change.
7. In the Properties dialog box, in the Select Which Properties to View box, click one of
these alternatives: Optional, Mandatory, or Both.
8. In the Select a Property to View box, click the property that you want to view.
9. To change a property value, type the value in the Edit Attribute box.
10. Click Set, and then click OK.
If the domain controller is a global catalog server, it also holds a fourth category of informa-
tion, partial replica of domain data directory partition.
NOTE
You cannot rename the root object in a directory partition, which means that you
cannot rename a Domain, Schema, or Configuration container.
The following directory partitions are created as default partitions on the first domain con-
troller in a forest and are updated through replication on every subsequent domain controller
created in the forest:
• The schema directory partition is created as cn=schema,cn=configuration,
dc=forestRootDomain. Schema.ini is used to create default directory objects and display
specifiers and to implement default security on the directory database.
• The configuration directory partition is created as cn=configuration,
dc=forestRootDomain.
• The domain directory partition is created as dc=domainName and contains the security 2
principals for the domain.
ARCHITECTURE
DIRECTORY
• When you create a new domain, the wizard creates a new directory partition that con-
ACTIVE
tains all the default domain objects.
• When you create an additional domain controller in an existing domain, the objects are
updated through replication. The wizard does not create the default domain directory
partition objects.
• When you upgrade a primary domain controller in Windows NT 4.0, the wizard creates
domain security principals and local security principals. It also migrates LSA member-
ships and existing accounts.
Configuration Partition
The configuration directory partition is created when the first Windows 2000 domain is. On
future creations of child domains or new tree-root domains or when an additional domain con-
troller is added to the domain, the configuration directory partition is replicated to the new
domain controller.
The following objects are child containers within the Configuration container:
• DisplaySpecifiers
• Extended-Rights
• LostAndFoundConfig
• Partitions
• Physical Locations
• Sites
• Services
• Well-Known Security Principals
50
NOTE
The Services container in Active Directory Sites and Services is hidden by default. To
reveal the Services container, right-click Active Directory Sites and Services, point to
View, and then click Show Services Node.
NOTE
The schema snap-in requires a special installation. See Chapter 9, “Managing Updates
with Flexible Single-Master Operations,” for details on installing the schema container.
(the schema master FSMO). These changes must be targeted at the domain controller that
holds the schema master role for the forest.
For more information about enabling schema modifications and extending the schema, see
Chapter 7, “Managing and Modifying Active Directory Schema.” For more information about
single-master roles, see Chapter 9.
You can also use ADSI Edit to view the schema directory partition objects and properties.
When you open ADSI Edit, the Schema container is displayed by default. Expand the con-
tainer to view the attributes and classes.
2
Domain Directory Partitions
ARCHITECTURE
When you create a new domain, a domain directory partition is created in Active Directory.
DIRECTORY
ACTIVE
The root object in each domain directory partition is a container object that is named for the
DNS domain. The child containers of the domain container can be viewed in the Active
Directory Users and Computers console.
A domain container has the following child containers:
• Builtin
• Computers
• Deleted Objects
• Domain Controllers
• ForeignSecurityPrincipals
• Infrastructure
• LostAndFound (Advanced Features)
• System (Advanced Features)
• Users
By default, only some containers appear in the Active Directory Users and Computers. To view
all the containers in Active Directory Users and Computers, click on the View menu and select
Advanced Features.
NOTE
Unlike the configuration and schema directory partitions, a full copy of the domain
directory partition is replicated only among domain controllers within the same
domain, not to other domains in the forest. A partial copy of domain objects (all
objects, but a limited set of attributes that have been configured to replicate to the
global catalog) is also replicated to all domain controllers that are configured to be
Global Catalog servers.
52
You can use Active Directory Users and Computers to manage the contents of the domain
directory partition. You can use ADSI Edit to manage properties not displayed in Active
Directory Users and Computers. When you open ADSI Edit, the domain directory partition for
the domain to which you are logged on is displayed by default.
CAUTION
It is highly recommended that you do not alter or modify the Policies container.
Instead, use the Group Policy MMC snap-in to specify a desktop configuration for a
particular Group Policy object.
• RpcServices
• WinsockServices
During the installation of Windows 2000 Server, the default Active Directory database file
(Ntds.dit) is placed in the %SystemRoot%\System32 directory. In this location, the file does
not function as the directory database; it exists as a distribution copy so that you do not have
to use the operating system CD to install Active Directory.
Ntds.dit includes the default copy of the schema and configuration directory partitions, as well
as a default domain directory partition. During the installation of Active Directory, the default
copy of the schema and configuration directory partitions (along with the domain directory
Active Directory Architecture
53
CHAPTER 2
partition if the domain controller is an additional domain controller in the domain) are syn-
chronized with existing domain controllers for that domain. At the completion of the installa-
tion process, Active Directory is fully synchronized and available for updates on the new
server.
During the installation of Active Directory, you can stop the replication process. To stop the
replication process, click the Finish Replication Later button when it appears. Replication then
continues after the computer is restarted. The domain controller does not advertise itself until
replication is complete.
2
NOTE
ARCHITECTURE
DIRECTORY
ACTIVE
If the AD database to be replicated is small in size, the Finish Replication Later button
may appear for only a brief period of time or not at all.
Domain Controllers
Active Directory must reside on a domain controller, which stores a complete copy of all
Active Directory information for that domain. It also manages changes to that information, and
replicates those changes to other domain controllers in the same and other domains. Schema
and infrastructure information is replicated between all domain controllers in a forest.
Member Server
Although only domain controllers contain Active Directory objects, other Windows 2000
servers can add functionality to your Windows 2000 implementation.
A member server is a Windows 2000 server that is a member of an Active Directory domain
but is not a domain controller and does not contain any Active Directory objects. Member
servers share common security features such as domain policies and user rights.
Member servers can act as the following:
• File servers
• Print servers
• Web servers
• Proxy servers
• Routing and Remote Access Services (RRAS) Servers
• Application servers, which include component servers, terminal servers, certificate
servers, database servers, and email servers
54
Because it is not a domain controller, a member server does not handle the account logon
process, participate in Active Directory replication, or store domain security policy informa-
tion.
These member servers have a common set of security-related features:
• Member servers adhere to Group Policy settings defined for the site, domain, or organi-
zational unit.
• Resources available on a member server are configured for access control.
• Member server users have user rights assigned to them.
• Member servers contain a local security account database, the Security Account Manager
(SAM).
Changing Roles
A server within an Active Directory domain can function in one of two roles: either as a
domain controller or a member server.
As the needs of your computing environment change, you might want to change the role of a
server. Using the Active Directory Installation Wizard or dcpromo.exe, you can promote a
member server to a domain controller, or you can demote a domain controller to a member
server (as mentioned earlier).
Sites
A Windows 2000 site is a group of Active Directory servers that can communicate over highly
reliable, high-bandwidth, permanent and synchronous connections. Setting up Windows 2000
sites allows you to configure Active Directory access and a replication topology to take advan-
tage of the physical network. When a user logs on, the Active Directory client finds Active
Directory servers in the same site as the user. Because computers in the same site are proximal
in network terms, communication among computers is reliable, fast, and efficient.
The two primary reasons for creating sites in Active Directory are to control replication traffic
and to control logon and authentication traffic. You create sites with Active Directory Sites and
Services. No direct relationship exists between domains and sites, so a single domain can span
multiple sites, and a site can span multiple domains. Typically, a site has the same boundaries
as a local area network.
One of the benefits of Active Directory is that domains can span physical locations with differ-
ent topologies connected by WAN links and still remain transparent to the user. However,
available WAN bandwidth is always a consideration.
Active Directory Architecture
55
CHAPTER 2
ARCHITECTURE
DIRECTORY
of replication traffic.
ACTIVE
• Active Directory lets multiple domains appear in a single site and a single domain appear
in multiple sites.
Data Storage
Active Directory data is stored in the Ntds.dit ESE database file. Two copies of Ntds.dit are
present in separate locations on a given domain controller:
• %SystemRoot%\NTDS\Ntds.dit Stores the database which contains domain informa-
tion and a forest data replica.
• %SystemRoot%\System32\Ntds.dit A distribution copy of the default directory that is
used during promotion of a Windows 2000–based computer to a domain controller.
During the promotion process, the Ntds.dit file is copied from the
%SystemRoot%\System32 directory into the default %SystemRoot%\NTDS directory.
Active Directory stores data for an entire forest. “Directory” and “forest” can be considered
synonymous. Although there is a single directory, data storage is distributed among one or
more domains while consistent data is maintained throughout the forest that applies to all
domains. Active Directory is partitioned and replicated. So that it can support tens of millions
of objects, Active Directory is partitioned into logical segments. To provide support and avail-
ability for thousands of clients, each logical partition replicates its changes separately among
those domain controllers in the forest that store copies of the same directory partitions.
Some directory partitions store forest-wide configuration information and schema information;
other directory partitions store information specific to individual domains, such as users,
groups, and organizational units. The directory partitions that store domain information are
replicated to domain controllers in that domain only. The directory partitions that store config-
uration and schema information are replicated to domain controllers in all domains. Domain
controllers configured as Global Catalog servers store a full replica of one domain directory
56
partition plus a partial replica of every other domain in the forest. A Global Catalog domain
controller can be queried to find any object in the forest.
NOTE
There is a distinction between a directory partition and a database partition. The
Active Directory database is not partitioned. Only the directory tree, which is the logi-
cal representation of the data held by a domain controller, is partitioned.
The distribution of Active Directory data in the directory tree can be summarized as follows:
• Domain-wide Data Distribution
• Domain-specific data is stored in a domain directory partition.
• A full, writable replica of the domain directory partition is replicated to every
domain controller in the domain, including any Global Catalog servers in the
domain.
• Forest-wide Data Distribution
• Forest-wide data is stored in two directory partitions: the configuration directory
partition and the schema directory partition. The Configuration container is the top-
most object of the configuration directory partition; the Schema container is the
topmost object of the schema directory partition.
• Full, writable replicas of the configuration directory partition and the schema direc-
tory partition are replicated to every domain controller in the forest.
• In addition to a full, writable replica of a single domain (the domain for which the
domain controller is authoritative), partial, read-only replicas of every other
domain directory partition in the forest are stored on domain controllers designated
as Global Catalog servers. The read-only replicas in the Global Catalog are “par-
tial” because they store only some of the attributes for each object.
When Active Directory is first installed on a computer running Windows 2000 Server, the
entire full replicas or partial replicas are replicated to create the directory. Thereafter, only
changes to directory objects (attribute changes and the creation and deletion of objects) are
replicated.
Summary
Active Directory architecture, although too complex for this book, has been enhanced in many
ways from previous Windows NT versions. The logical structure of Active Directory mirrors
Active Directory Architecture
57
CHAPTER 2
DNS, and shares many similarities and conforms to its standards. Active Directory is com-
posed logically of objects, domains, and trees. Physically, it is comprised of domain controllers
and sites.
ARCHITECTURE
DIRECTORY
ACTIVE
Managing Domains, Trusts, CHAPTER
3
and DNS
IN THIS CHAPTER
• Domain Fundamentals 60
• Managing Trusts 64
• Heterogeneous Environments 87
One of the most improved and enhanced features of Windows 2000 is the administrative over-
head reduction in terms of domains, trusts, and DNS. This chapter focuses on those benefits as
well as step-by-step examples and exercises.
Domain Fundamentals
Windows 2000 domains and Active Directory depend on one another and even are defined by
each other’s characteristics. Let’s start with an explanation of the Windows 2000 domain model
and examine why that model is so different from the Windows NT domain model.
As you’ll recall, Windows NT 4.0 domains didn’t scale well. Using one-way non-transitive
trusts in enterprise implementations required significant administrative overhead. Windows
2000 has a new approach to trusts and is now in coordination with industry standards such as
the Lightweight Directory Access Protocol (LDAP) and Domain Name Service (DNS).
As you learned in Chapter 1, “Understanding Active Directory,” Windows 2000 domains are
organized in a hierarchy (including trees and forests), as opposed to manually trusted, non-
contiguous domain namespaces. The first domain created in a Windows 2000 deployment is
called the root domain. This domain serves as the root for all domain trees created in the for-
est. Each domain tree has its respective subroot. Because Windows 2000 domain structures
share a direct relationship with DNS domain hierarchies, the structure of Windows 2000
domains is similar to the familiar structure of DNS domain hierarchies. Examples of root
domains are kevinkocis.com or north-rim.com. They serve as the roots of their DNS hierar-
chies and roots of their respective Windows 2000 domain structure.
Domains subsequently created in a given Windows 2000 domain hierarchy become
child domains of the root domain. For example, if sales is a child domain of north-rim.com,
the sales domain becomes sales.north-rim.com.
Windows 2000 requires that domains be either a root domain or a child domain in a domain
hierarchy, and must be unique in respect to their parent domain. Refer to Figure 2.3 in
Chapter 2, “Active Directory Architecture,” for a visual guide.
NOTE
You cannot have two domains called sales that are direct child domains of a root
domain called north-rim.com, for example. However, you can have two domains
called sales in the overall domain hierarchy. You could have sales.north-rim.com as
well as sales.az.north-rim.com.
Managing Domains, Trusts, and DNS
61
CHAPTER 3
.com
kevinkocis.com
na.kevinkocis.com
3
FIGURE 3.1
A domain tree.
Managing Domains
The Microsoft Windows 2000 domain structure and its associated objects have changed signifi-
cantly from their Windows NT 4.0 incarnations. Two significant changes are the domain scala-
bility and the transition to a two-way transitive trust relationship mode.
Windows 2000 is more scalable than Windows NT 4.0. Windows NT 4.0 has a limit of 40,000
user accounts in a single domain. This limit comes from the maximum recommended size of
the Security Accounts Manager (SAM) database file of 40 MB. Based on this, organizations
were forced to create additional account domains to be able to support the number of user
accounts expected in the organization. Another reason for creating additional domains was for
administrative delegation. Because the domain is the most granular administrative unit, creat-
ing additional domains was one way to delegate administrative roles. Business groups also
forced enterprises to allow them to create additional domains that were—outside of political
realms—unnecessary.
62
With a Windows 2000 Active Directory implementation, organizations should avoid creating
additional domains. Windows 2000 supports significantly larger numbers of objects in its data-
base. Within a domain, organizational units are used to create very granular administrative
roles. Therefore, very large organizations do not need to create additional domains to support
their large user account requirements. You can implement a strong organizational unit (OU)
model as opposed to multiple domains.
The main recommendation for planning domains and DNS is to delegate a separate DNS zone
per each Active Directory domain—in other words, mirroring the AD structure. You should
have two DNS servers running on domain controllers in the domain. Remember that when a
domain is implemented, you cannot change its name or split it into two domains. You also can-
not combine two domains. However, you can use an import/export tool called ldifde.exe to
transport objects outside the forest. For object transfers within the forest but between domains,
use the movetree.exe tool. Both tools are covered in more detail in Appendix A.
In Windows NT 4.0, all trusts were configured via one-way, non-transitive trusts. To establish a
two-way trust, administrators from the two domains were required to coordinate two separate
one-way trusts. These trusts were also non-transitive.
In Windows 2000, all trusts are two-way, transitive trusts. The exceptions are explained in
Chapters 1 and 2. This enhancement eliminates administrative overhead in terms of trust con-
figuration and management.
Adding Domains
Basing domain creation on stable criteria such as geography is the best way to ensure migra-
tion will be as simple as possible. Other criteria, such as business groups or suborganizations,
are much less stable and are likely to result in the need to move security principal accounts
between domains.
You can migrate Windows NT 4.0 domains to Windows 2000 domains in one of the following
ways:
• Create a new Windows 2000 domain and join an existing tree.
• Create a new Windows 2000 domain and create a new tree.
• Merge into an existing Windows 2000 domain.
NOTE
You cannot move the security principals from a Windows NT 4.0 domain into more
than one Windows 2000 domain at upgrade time. You need to use the Active
Directory Services Interface (ADSI) and other tools to move the user accounts
between domains after the upgrade is completed.
Managing Domains, Trusts, and DNS
63
CHAPTER 3
Domain Models
The two domain modes are mixed mode and native mode. Mixed mode is the default mode set-
ting for domains on Windows 2000 domain controllers. Mixed mode allows Windows 2000
domain controllers and Windows NT backup domain controllers to cohabitate in a domain.
Mixed mode does not support the universal and nested group enhancements of Windows 2000.
You can change the domain mode setting to Windows 2000 native mode only after all
Windows NT domain controllers are either removed from the domain or upgraded to Windows
2000. After that, if you do not plan to add any more down-level domain controllers to the
domain, you can switch the domain from mixed mode to native mode. Also, native mode does
not support down-level replication.
Several things happen during the conversion from mixed mode to native mode:
• Support for down-level replication and down-level domain controllers stops.
• You can no longer add new down-level domain controllers to the domain.
• All domain controllers are equal, even the Primary Domain Controller (PDC) during the
migration process.
3
MANAGING
DOMAINS,
Do not change the domain mode if you have or will have any Windows NT 4.0
domain controllers! The change from mixed mode to native mode is one way only.
You cannot change from native mode to mixed mode.
NOTE
It may take up to 15 minutes for a domain mode change to impact all Windows 2000
domain controllers.
64
Managing Trusts
As you learned earlier, one of the most important differences between Windows NT 4.0
domains and Windows 2000 domains is the way trust relationships are created and maintained
between domains within the organization. Rather than establish a web of one-way trusts as
required in Windows NT 4.0, Windows 2000 implements transitive trusts that span the domain
tree and forest structure. This model greatly simplifies administration.
Trust Relationships
Trust relationships in Windows NT 4.0 can be represented in the following equation (with n
equaling the number of domains):
Windows NT 4.0 domains–(n * (n–1))
Therefore a company with 6 domains needs to establish 30 trust relationships (6*(6–1)).
Trust relationships among Windows 2000 domains can be represented in the following
equation:
Windows 2000 domains–(n–1)
Therefore, a company with 6 domains needs to establish 5 trust relationships (6–1).
That’s a significant difference in the number of trust relationships that must be managed, par-
ticularly when you’re in a corporation with hundreds of NT 4.0 domains!
Another trust feature of Windows 2000 domains is that they are created and implemented by
default. As you install domain controllers, trusts are automatically created. This process is tied
to the fact that Windows 2000 domains are hierarchically created. That enables Windows 2000
to automatically know which domains are included in a given domain tree, and when trust rela-
tionships are established between root domains, to automatically know which domain trees are
included in the forest.
In contrast, administrators had to create (and subsequently manage) trust relationships between
Windows NT domains, and they had to remember which way the trust relationships flowed
(and how that affected user rights and permissions in either domain). The difference is signifi-
cant, the management overhead is sliced to a fraction, and the implementation of such trusts is
more intuitive—all due to the new trust model and the hierarchical approach to domains and
domain trees.
Windows 2000 incorporates three types of trust relationships. The trust relationships available
to Windows 2000 domains are the following:
• One-way trusts
• Transitive trusts
• Cross-link trusts
Managing Domains, Trusts, and DNS
65
CHAPTER 3
One-Way Trusts
One-way trusts are obviously not two-way, nor are they transitive. You can still create one-way
trusts just like in a Windows NT 4.0 environment. However, creating multiple one-way trusts
does not create a transitive trust.
One-way trusts can be used when creating trust relationships with Windows NT 4.0 domains.
NOTE
Because down-level domains cannot participate in Windows 2000 transitive trust envi-
ronments, you must create one-way trusts for interoperability with down-level
Windows NT domains.
You can also implement one-way trust relationships between domains in different Windows
2000 forests. This capability allows you to isolate the trust relationship to the domain where
the relationship is created and maintained rather than create a trust relationship that affects the
entire forest. These one-way trusts are called explicit trusts.
3
MANAGING
Transitive trusts establish a trust relationship between two domains that is able to flow through
DOMAINS,
to other domains. If you assume that domain A trusts domain B, and domain B trusts domain
C, then domain A inherently trusts domain C and vice versa. Let’s look at the Windows 2000
domain example in Figure 3.2.
.com
kevinkocis.com
na.kevinkocis.com
Transitive
Trust
il.na.kevinkocis.com
FIGURE 3.2
Transitive trusts in a Windows 2000 domain tree.
66
NOTE
Transitive trusts are limited to Windows 2000 domains and to domains within the
same domain tree or forest. You cannot create a transitive trust relationship with
Windows NT 4.0 domains or between two Windows 2000 domains from different
forests.
Adding Trusts
Two-way transitive trusts are created by default when additional Windows 2000 domains are
added to the tree or forest. In the case of down-level domains, explicit trusts must be created.
To create an explicit domain trust, do the following:
1. Open Active Directory Domains and Trusts.
2. In the console tree, right-click the domain node for the domain you want to administer,
and then click Properties.
Managing Domains, Trusts, and DNS
67
CHAPTER 3
.com
kevinkocis.com
sa.kevinkocis.com na.kevinkocis.com
Cross-link trust
bz.sa.kevinkocis.com il.na.kevinkocis.com
FIGURE 3.3
A cross-link trust.
MANAGING
DOMAINS,
5. If the domain to be added is a Windows 2000 domain, type the full DNS name of the
domain.
Or, if the domain is running an earlier version of Windows NT, type the domain name.
6. Optionally, you can type and confirm the password for this trust.
7. Repeat this procedure on the domain that forms the other part of the explicit trust rela-
tionship.
NOTE
The password must be accepted in both the trusting and trusted domains. Remember
to use the Run As feature to administer a domain to which you are not currently
logged on.
Modifying Trusts
Even though trusts are created by default, if your enterprise consists of multiple down-level
domains, you may need to modify these trusts. Cross-link trusts may also require verification
at certain timed intervals (such as in the event of a down-level domain upgrading to Windows
2000, or the separation of a previous trust collaboration).
68
NOTE
You cannot revoke the default two-way transitive trusts between domains in a forest.
Only manual trusts can be removed.
Naming Standards
Your naming convention should follow the Internet standard character set permitted for use in
DNS host naming. Standard characters, which are defined in RFC 1123, include all uppercase
letters (A–Z), lowercase letters (a–z), numbers (0–9), and the hyphen (-). If you implemented
Managing Domains, Trusts, and DNS
69
CHAPTER 3
NetBIOS with more unconventional names, existing computer names might not conform to the
DNS naming standard. If this is the case, consider revising your computer names.
NOTE
You cannot change the NetBIOS name of the machine after upgrading to Windows
2000. You must edit the Registry because there is no GUI tool to make this change at
the present time.
To ease the transition from NetBIOS names to DNS domain names, the Windows 2000 DNS
service includes support for extended ASCII and Unicode characters.
NOTE
ASCII and Unicode character support can be used only in a pure Windows 2000 net-
work environment because most other DNS client software is based on RFC 1123, the
specification that standardizes Internet host naming requirements. 3
When the full computer name is a combination of the computer name and the DNS domain
name for the computer, the impact of renaming and making the transition from a NetBIOS
namespace to a DNS namespace can be minimal. Users continue to focus on the short com-
puter name. If this name is 15 or fewer characters, you can keep the name identical to the
NetBIOS computer name. You can then also assign a DNS domain name for each computer by
using remote administration tools.
Name Restrictions
Different DNS implementations impose different character and length restrictions. Table 6.1
shows the restrictions for each implementation.
NOTE
Although you can create long, complex DNS names, creating shorter, user-friendly
names is recommended.
Managing Domains, Trusts, and DNS
71
CHAPTER 3
Microsoft has proposed that the DNS name specification be readjusted to accommodate a
larger character set: UTF-character encoding, which is a superset of ASCII and a translation of
the UCS (also known as Unicode) character encoding. The UTF-character set includes charac-
ters from most languages.
You can configure the Windows 2000 DNS server to allow or disallow the use of UTF-charac-
ters on your Windows 2000 server on a per-server basis with the DNS console. From the
Advanced tab of the server properties page, set Name Checking to one of the following:
• Strict RFC (ANSI)—Allows A to Z, a to z, the hyphen (-), the asterisk (*) as a first label;
and the underscore (_) as the first character in a label.
• Non RFC (ANSI)—Allows all Strict RFC (ANSI) characters as well as placement of the
underscore (_) anywhere in a name.
• Multibyte (UTF-)—Allows all Non RFC (ANSI) characters, as well as UTF-8 characters.
• Any character—Allows any character, including UTF-8 characters.
MANAGING
DOMAINS,
balance between servers and provide quicker access and redundancy. Clients should be config-
ured to query both a primary and secondary DNS server. You can configure this with DHCP,
which is covered in the next chapter.
NOTE
Clients use an application called a resolver to query DNS servers.
Caching-Only Servers
All DNS servers perform caching when they receive information from other servers and store
the information for a certain amount of time. This capability enhances DNS resolution and
reduces traffic associated with DNS queries.
Caching-only servers simply perform queries and cache the answers, therefore they do not gen-
erate zone transfer network traffic because they do not contain any zones.
Caching-only servers are ideal for companies with an Internet service provider (ISP) providing
primary DNS services.
Resource Records
Resource records (RRs) are sets of information in the DNS database for processing client
queries. Each DNS server hosts the resource records it needs to handle authoritative queries.
NOTE
A DNS server is authoritative for a contiguous portion of the DNS namespace if it con-
tains information about that portion of the namespace.
In DNS, resource records are represented in binary form for queries and replies. Resource
records are represented as text entries in Active Directory database files.
Managing Domains, Trusts, and DNS
73
CHAPTER 3
NS Resource Records 3
MANAGING
DOMAINS,
ing primary and secondary servers specified in the SOA resource record. Every zone must con-
tain at least one NS record at the zone root.
A Resource Records
The address (A) resource record maps an FQDN or host name to an IP address, so clients can
obtain an IP address for an FQDN.
PTR Records
The pointer (PTR) resource record performs tasks opposite from those performed by the A
resource record. This record maps an IP address to an FQDN or host name, and is used in
reverse lookup zones.
NOTE
According to RFC 2181, each alias can have only one canonical name.
MX Resource Records
The mail exchange (MX) resource record specifies a mail exchange server for a DNS domain
name. A mail exchange server is a host that either processes or forwards mail for the DNS
domain name.
NOTE
Only mail exchange servers use MX records.
You can have multiple MX resource records for multiple mail exchange servers in a domain
and assign them different weight preferences. The lower-weighted mail server will be con-
tacted first.
SRV Records
Service (SRV) resource records specify the location of the servers for a specific service, proto-
col, and DNS domain.
The format of an SRV record is as follows:
_Service._Proto.Name TTL Class SRV Priority Weight Port Target
• The Service field specifies the name of the service, such as http or telnet.
• The Proto field specifies the protocol, which is usually TCP or UDP.
• The Name field specifies the DNS domain.
• The TTL field is the Time to Live (optional).
• The Class field often represented by IN (for Internet). This field is optional.
• The Priority field specifies the priority of the host (a number from 0 to 65,535). The
host with the lowest number has priority.
• The Weight field is used for load-balancing when hosts have the same priority (a number
from 0 to 65,535).
• The Port field shows the port of the service on this host (a number from 0 to 65,535).
• The Target field shows the FQDN for the host providing the service.
Managing Domains, Trusts, and DNS
75
CHAPTER 3
If a computer needs to locate a Web server in the kevinkocis.com DNS domain, the client
sends the following query:
_http._tcp.www.kevinkocis.com
The DNS server replies with the SRV records listed earlier. The client then chooses between
servers by looking at their priority values.
NOTE
If the priority values are the same but the weight values are different, the client
would randomly choose a Web server, except that the server with the highest weight
value would have a higher probability of being chosen.
Next, the client requests the A record for web1.kevinkocis.com, and the DNS server sends the
A record. Finally, the client attempts to contact the Web server.
MANAGING
DOMAINS,
domains. A domain can be subdivided into several partitions or zones, which can be controlled
by a separate DNS server. Using the zone, the DNS server answers queries about hosts in its
zone, and is authoritative for that zone.
Zones fall into three classifications:
• Standard primary
• Standard secondary
• Active Directory–integrated
These zone types are created in the DNS Wizard, and are stored either in files or in Active
Directory. A primary zone is the copy of the zone to which the updates are made. It is stored in
a text file. A secondary zone is a read-only copy of the zone that is replicated from a master
server, and is also a text file.
Standard primary and secondary zones are stored as zone files on the server’s hard drive. Some
secondary servers store them in memory and perform a zone transfer whenever they are
restarted. Active Directory–integrated zones are stored and replicated in the Active Directory.
76
NOTE
Only one server can manage the primary zone for each DNS domain. You cannot con-
figure two different servers to manage the same primary zones.
There is one exception, however: Multiple computers can manage Windows 2000 Active
Directory–integrated zones. You can configure a single DNS server to manage one zone or
multiple zones, depending on your needs. You can create multiple zones to distribute adminis-
trative tasks to different groups and provide efficient data distribution. You can also store the
same zone on multiple servers to provide load balancing and fault tolerance.
Lookup Zones
Lookup zones store the information required to resolve host names and IP addresses within the
domain. Depending on which variable you have (host name or address), you’ll use forward or
reverse lookup zones, respectively.
NOTE
Both clients and servers can send dynamic updates.
Managing Domains, Trusts, and DNS
77
CHAPTER 3
Secure dynamic update allows you to protect zones and resource records from being modified
without authorization and enables you to specify exactly which users and groups can modify
zones and resource records.
NOTE
Although any primary zone can be configured for dynamic update, only Active
Directory–integrated zones can be configured for secure dynamic update. If you dis-
able secure dynamic update, the client cannot perform updates on zones that have
been configured for secure dynamic update.
78
By default, the dynamic update client automatically deregisters name–to–IP address mappings
whenever the DHCP lease expires. You can configure the client not to register its name and IP
address in DNS. If you configure the client not to automatically register name–to–IP address
mappings, the DHCP server is running Windows 2000, and it is configured to register DNS
resource records on behalf of clients that are running versions of Windows earlier than
Windows 2000, the DHCP server attempts to update the mappings instead.
To prevent the client from registering name–to–IP address mappings, follow these steps:
1. Double-click the Network icon in Control Panel.
2. Right-click the icon for the connection on which you want to disable registration of
name–to–IP address mappings, and then click Properties.
3. Click Internet Protocol (TCP/IP), and then click Properties.
4. Click Advanced, and then click the DNS tab.
5. Clear the Register This Connection’s Address in DNS check box.
You can force a re-registration by using the command-line tool Ipconfig. For Windows
2000–based clients, type the following at the command prompt:
ipconfig /registerdns
ipconfig /renew
Zone Transfer
Zone changes made to a master server must be replicated to all the secondary servers for that
zone. This process is called a zone transfer. Traditionally, only one form of zone transfer—
known as full zone transfer (AXFR)—was available. Active Directory incorporates a new type
of zone transfer, the incremental zone transfer (IXFR). Let’s take a closer look at these zone
transfers, as shown in Figure 3.5.
Managing Domains, Trusts, and DNS
79
CHAPTER 3
FIGURE 3.5
The zone transfer options.
MANAGING
DOMAINS,
process:
1. The secondary server polls the master server at the time interval set in the Refresh field
of the State Of Authority (SOA) resource record tab.
2. The master server responds with the SOA resource record.
3. The secondary server compares the serial numbers of the SOA records. If the master
server’s serial number for the zone is higher than the secondary server’s serial number,
its zone database is out of date, and the secondary server sends an AXFR request (a
request for a full zone transfer).
4. The master server then sends the full zone database to the secondary server.
If the master server for the zone does not respond to polling by the secondary server, the sec-
ondary server continues to poll based on the interval specified in the Retry field of the SOA
resource record. If there is still no answer after the interval specified in the Expire field since
the last successful zone transfer, it discards its zone and stops responding to client requests.
80
NOTE
Name servers running versions of Berkeley Internet Name Domain (BIND) earlier than
4.9.4 can send and receive only one resource record per message during a full zone
transfer. Windows 2000 and later versions of BIND can send and receive multiple
resource records per message. This capability improves the performance of full zone
transfers. For more information about BIND, visit the Internet Software Consortium
Web site at http://isc.org.
Incremental Transfer
Full zone transfers can affect network bandwidth. Because of this, a new standard was defined,
which is called the incremental zone transfer (IXFR).
Incremental zone transfer works much the same as full zone transfer except that it transfers
only the modified parts of the zone. In this situation, if a zone transfer is required, it sends an
incremental zone transfer (IXFR) query instead of a full zone transfer (AXFR) query, request-
ing that the master server for the zone perform an incremental zone transfer.
The master server sends the oldest updates first and the newest updates last to the secondary
server. When it receives an incremental zone transfer, the secondary server creates a new ver-
sion of the zone and begins replacing its resource records with the updated resource records,
starting with the oldest updates. After all the updates have been made, the secondary server
replaces its old version of the zone with the new version of the zone.
MANAGING
DOMAINS,
When you start the Active Directory Installation Wizard and choose to create a new domain,
the wizard finds the DNS server that is authoritative for the name of the new Active Directory
domain and then checks whether that server is going to accept dynamic updates. If the test is
positive, the wizard does not install and configure a local DNS server.
If the Active Directory Installation Wizard cannot find the DNS server that is authoritative for
the name, or if the server it finds does not support dynamic updates or is not configured to
accept dynamic updates, the wizard asks whether you want it to automatically install and con-
figure a local DNS server. If you answer yes, the wizard automatically installs and configures
the DNS Server service.
During automatic configuration, the Active Directory Installation Wizard adds to the DNS
server the forward lookup zone that will host the locator records and configures the DNS
server to accept dynamic updates. (A forward lookup zone contains information needed to
resolve names within the DNS domain.) If the server is the first in the forest, it becomes the
root DNS server. If the server is not the first, the wizard queries for the root servers and primes
the root hints with the root DNS server names.
After the Active Directory Installation Wizard is finished, you are prompted to restart the com-
puter. After the computer restarts, Netlogon attempts to add locator resource records to the
DNS server by sending a dynamic update request to the authoritative DNS server.
82
NOTE
The Netlogon service starts after the DNS server service. The SRV resource records may
not be registered in the zone for up to 15 minutes. You can force registration of
these records by stopping and restarting the Netlogon service.
NOTE
You can also invoke the Active Directory Installation Wizard by executing an answer
file that contains all the settings you need to configure. An answer file is a file that a
wizard uses to provide answers to questions where a user would normally need to
respond or be prompted to input information.
Follow these steps to install and configure DNS and Active Directory:
1. Log on with the appropriate administrative privileges. Depending on the type of DC
promotion, the Eadmin account may be required.
2. Check the TCP/IP advanced settings of your computer to make sure that it is configured
to use a DNS server. If your computer is the first DNS server on the network, you can
configure your computer to use itself as a DNS server.
3. If the Windows 2000 Configure Your Server Wizard is not already open on your com-
puter, click Start, Run, and then type dcpromo.
4. The Active Directory Installation Wizard then guides you through the installation and
configuration of the DNS server component.
5. When you’re directed to do so, restart your computer.
After you run the Active Directory Installation Wizard, you might need to add a delegation in
the parent zone of the zone you created. If this server is a root DNS server, no parent zone
exists; therefore, you do not need to add a delegation. However, if other DNS servers are run-
ning on the network, you should add a delegation if this zone will be managed outside of the
root domain.
Follow these steps to add a delegation:
1. In the DNS console, locate the subdomain where you want to create a zone delegation.
2. From the Action menu, select New Delegation. Click Next.
3. On the Delegated Domain Name page, specify the domain you want to create (select the
recently created domain you just installed in DNS), and click Next.
Managing Domains, Trusts, and DNS
83
CHAPTER 3
4. Specify the servers hosting the delegated zone, and click Next.
5. Review your entered information, and click Finish.
Configuring Zones
The biggest part of configuring DNS involves configuring zones. After you have installed
DNS, you will eventually be required to configure DNS zones. This next section addresses the
Windows 2000 DNS console and how to configure various elements of zone creation.
MANAGING
DOMAINS,
6. Click the Create a New File button if you are not importing or working with a current
file. (Note that the default name is the zone name with an appended .dns extension.) If
you are using an existing file, it must be located in the root\system32\dns folder.
7. Review your information, and select Finish.
To create a secondary forward lookup zone, follow steps 1 through 5, and then enter the IP
address(es) of the DNS server(s) from which you want to copy the DNS zone information.
Click the Add button, and prioritize the list of DNS servers. Then review your information, and
click Finish.
5. Enter the network ID for the zone (or enter the name, which is the reversed network ID
followed by .in-addr.arpa) For example, if the network ID is 10.1.1, the reverse lookup
zone name would be .10.1.1.in-addr.arpa. Click Next.
6. Click the Create a New File button if you are not importing or working with a current
file. (Note that the default name is the zone name with an appended .dns extension.) If
you are using an existing file, it must be located in the root\system32\dns folder.
7. Review your information, and select Finish.
To delete a zone, simply right-click the desired zone in the DNS console, and select Delete.
NOTE
If you create a zone on one domain controller and then create the same zone on a
second domain controller before Active Directory has replicated the zone, Active
Directory deletes the zone on the first domain controller. As a result, you lose any
changes that you made to the version of the zone that you created on the first
domain controller.
Directory and is no longer available to any domain controllers. If you click No, the zone is
removed from the Registry but remains in Active Directory. The next time the DNS server
polls the directory for changes, if Load Zone Data on Startup on the Advanced tab of the DNS
server properties page in the DNS console is set to From Active Directory and Registry, the
zone reappears (see Figure 3.6). If Load Zone Data on Startup is set to Registry, on the other
hand, the zone does not reappear.
FIGURE 3.7
Converting an AD-integrated zone to a standard primary zone. You can use this same window in the General tab to
convert back to AD-integrated.
If you convert an Active Directory–integrated zone to a standard secondary zone, the zone is
copied to the name server on which you converted the zone. Although the server no longer
loads the zone from Active Directory, it hosts its own secondary copy of the zone, and requests
zone transfers from the primary server for the zone.
If you convert an Active Directory–integrated zone to a standard primary zone, the zone is
copied to a standard file on that server and is deleted from Active Directory. The zone no
longer appears on other Active Directory–integrated DNS servers.
To prevent this problem, be sure to update all secondary servers for the zone that you are con-
verting from an Active Directory–integrated zone to a standard primary zone. This problem
occurs only if you delete a zone from a server or you are converting an Active Directory–
integrated zone to a standard primary zone, and a secondary server is pointing at a server from
which the zone was deleted. The problem does not occur if you are converting an Active
Directory–integrated zone to a standard secondary zone because converting this way does not
cause the zone to be deleted from any server.
Heterogeneous Environments
In the real world, DNS has been managed effectively on UNIX servers for years. Many UNIX
administrators see no added value to implementing Microsoft DNS. This section addresses
some of the issues from both perspectives.
This section discusses the issues that may arise when Microsoft DNS servers are used in a
mixed environment with non-Microsoft DNS servers. Because the Microsoft DNS server is
RFC-compliant, it is fully interoperable with all other RFC-compliant DNS servers. However,
because the Microsoft DNS server provides a wider spectrum of features than specified in the
RFC, you are advised to exercise caution when using these features. These features are limited 3
MANAGING
DOMAINS,
Using WINS and WINSR Records
Because currently only Microsoft DNS servers support the WINS and WINSR resource
records, I recommend disabling replication of these records if all the following conditions are
satisfied:
• The primary copy of the zone contains one of these records.
• At least one of the secondaries resides on a non-Microsoft DNS server.
At the same time, if the secondaries reside partially on Microsoft and non-Microsoft DNS
servers, disabling WINS and WINSR resource records replication may require manual input of
these records to the secondary zones residing on the Microsoft DNS servers.
UNIX/BIND
Storing your Microsoft DNS information in Active Directory offers a significant advantage. In
standard DNS, replication is single master, pushing updates to secondary servers. This leaves a
single point of failure, so many companies implement primary and backup DNS servers.
However, if you implement ADS storage of DNS, replication is multi-master because ADS
replicates between the domain controllers running DNS on your network. With ADS storage of
Microsoft DNS, you don’t need to manage a separate replication structure, transfers are secure
(managed by trusts in AD), and there is no single point of failure. You can also send standard
zone transfers to other servers as necessary. With ADS storage, DNS data is converted to an
object model in which a DNS name becomes the object and the resource record set is the
attribute.
Performance and manageability advantages promote the integration of AD with DNS. There
are a few caveats. For one, only primary zones can be AD-integrated, so the DNS zone must be
running Windows 2000, not a third-party DNS such as BIND or NetWareDNS. Only domain
controllers can host AD-integrated zones, although you can have read/write access from any
client loaded with the DNS snap-in. Another is the manual process of importing current zone
files into Windows 2000 DNS. The only current method for doing so is to move the pre-created
zone file in the systemroot\system32\dns folder and then indicate to use that zone file when
you set up the zone as primary. Then you can convert this zone to an AD-integrated zone.
However, despite all these new features and caveats, the challenge remains for corporations
whether they will implement Microsoft DNS into their environments and how they will per-
form this integration.
The primary benefits for interoperability in these environments include
• Full interoperability with other DNS server implementations that implement RFC-
compliant behavior for DNS name service
• Use of Windows DNS servers to provide DNS service on the Internet
For interoperability testing, the Windows 2000 development team has tested the Windows 2000
DNS Server service with the following versions of the Berkeley Internet Name Domain
(BIND) DNS server implementation:
Managing Domains, Trusts, and DNS
89
CHAPTER 3
• BIND 4.9.7
• BIND 8.1.2
• BIND 8.2
Active Directory is completely dependent on DNS. However, great challenges and significant
planning go into designing an effective directory service. Perhaps the greatest of these chal-
lenges in the enterprise for Microsoft AD implementation is interoperability. Because most
enterprises currently host their DNS on UNIX servers running BIND, exactly how to integrate
Active Directory into this environment will prove challenging. Because clients in a Windows
2000 environment look up SRV resource records in the DNS server to locate their network’s
AD and services, it is important that UNIX servers have recent BIND versions installed to per-
form these functions.
Some of the new DNS requirements of Active Directory are as follows:
• Support of SRV records (RFC 2782)
• Recommended support of dynamic updates (RFC 2136)
• Recommended support of incremental zone transfer (IXFR) (RFC 1995)
3
MANAGING
DOMAINS,
BIND 8.2.2 or higher supports DNS extensions used by Active Directory.
Windows 2000 clients use DNS for name resolution and for locating domain controllers for
logon. Down-level clients (Windows NT 4.0 and earlier, Windows 9x) rely on NetBIOS, which
uses WINS, broadcast, or LMHOSTS files. WINS is used for domain controller location.
Because Windows 2000 DNS is WINS-aware, a combination of DNS and WINS can be imple-
mented in a mixed environment. Windows NT 4.0 clients can register in Windows 2000 WINS,
and Windows 2000 clients can register in Windows NT 4.0 WINS.
The minimum DNS requirement for Active Directory integration is support of SRV resource
records. BIND 4.9.6 and higher versions meet this requirement. However, upgrading to at least
8.x is strongly recommended to support dynamic updates. Note that BIND 8.2.2 supports inte-
gration with Active Directory, including dynamic updates, incremental zone transfers, and SRV
record updates.
The Dynamic Update Protocol (RFC 2136) allows hosts to register domain names and IP
addresses with the name service, which in turn allows for automatic namespace updates and
alleviates manual administrative updates—which is important if you’re using DHCP to assign
IP addresses dynamically.
90
The Incremental Zone Transfer Protocol (RFC 1995) allows for incremental updates in the
zone transfer process as opposed to transferring the entire zone file. This protocol alleviates
bandwidth demands during zone transfers.
The Service Location Resource Record (RFC 2782) allows services to be published in DNS by
specifying the location of the server(s) for a specific protocol and domain. The SRV record is
used to locate AD services such as LDAP at port 389. It does not use round robin as an A
record query would.
To determine whether your version of BIND supports dynamic record updates, use the
nsupdate tool that ships with BIND. You can create a test domain and its zone file in your DNS
server. Then you can turn on dynamic updating by using the nsupdate tool to perform manual
dynamic updates.
NOTE
It is imperative that you coordinate and plan your Active Directory and UNIX DNS
integration with your current DNS team.
Although implementing AD and Microsoft DNS may sound quite enticing to the Windows
support team of a larger company, if you are operating in a heterogeneous environment, the
debate over directory services may fall nothing short of a technological holy war.
Many large enterprises have been hosting their DNS domains on UNIX servers for a long time.
From their perspective, why change something that isn’t broken, especially to an unproven and
proprietary Microsoft product? Windows DNS has raised the stakes by complying with
Internet standards and providing a wider spectrum of features than specified in the current
RFC documents. Because of its advanced features, you need to be cautious when planning
integration, particularly AD-integrated zones.
Microsoft believes strongly the following features of Windows 2000 DNS make it a good
choice for corporations looking to implement a reliable hierarchical distributed network envi-
ronment:
• AD integration
• Incremental zone transfer
• Dynamic update and secure dynamic update
• Unicode character support
• Enhanced domain locator
• Enhanced caching resolver service
Managing Domains, Trusts, and DNS
91
CHAPTER 3
MANAGING
DOMAINS,
Your choice depends on a variety of variables, including your current DNS infrastructure and
specifications, as well as the many pending political issues.
When moving from a BIND DNS server to DNS service, however, you need to copy and
rename any BIND-created zone or boot files that you intend to use with the DNS service. Also,
if you continue to use a BIND boot file to provide the initial configuration settings used by the
DNS service when it is started, you need to change the boot method used by the DNS service.
To migrate from BIND-based server zones to Windows 2000 DNS servers, perform the follow-
ing steps:
1. At your Windows 2000 server computer, install a DNS server.
2. Using the DNS console, at the new server add secondary zones for all your existing
zones hosted at the BIND-based DNS servers.
Configure the BIND servers as the master servers for each of the secondary zones you
need to create.
3. Initiate zone transfer at your Windows 2000 DNS servers to transfer the zones from the
BIND servers.
4. After completing the zone transfers, convert any of the secondary zones to primary zones
that were obtained from primary zones at the BIND servers.
5. For the other secondary zones that remain, update the master servers for those zones to
use the new primary servers running Windows 2000 server.
If you continue to use your BIND DNS servers as secondary servers for zones for which your
DNS server running Windows 2000 server is the primary server, you should review interoper-
ability issues related to zone transfer for this configuration.
Keep in mind that any zone files created and stored on UNIX DNS servers that use BIND need
to be manually copied from those servers to the systemroot\system32\dns folder on the com-
puter running Windows 2000 server and appropriately renamed. BIND zone files have a differ-
ent naming convention from that used by DNS servers running under the DNS service
provided in Windows operating systems.
After you transfer the files, you can upgrade your secondary zones to AD-integrated zones. You
should change the SOA resource record to one of the AD-integrated DNS servers. Then you
can terminate your UNIX DNS servers (to avoid duplicate SOA records for the same zone) and
remove them from the network.
One disadvantage comes in the form of integration. AD-integrated zones must be stored on
DCs in the same domain. If you need it to cross domains, you must create secondary zones at
other DNS servers outside the domain.
tested dynamic updates, you can integrate it with Active Directory. This includes BIND 8.2.2
and higher, as well as Novell’s NetWare 5.0. Remember that BIND 4.9.6 and 4.9.7 meet the
minimum requirements. However, BIND 8.x supports dynamic updates and incremental zone
transfers, and is strongly recommended for integrating with Active Directory.
The advantage to integrating your current DNS structure into Windows 2000 DNS is that less
administrative effort is required to implement. Your company can maintain its current equip-
ment and infrastructure. UNIX and NT administrators can cohabitate, and you can focus on
your Windows 2000 implementation as opposed to fighting the DNS war.
Some disadvantages are that many UNIX DNS servers are running BIND 4.x, which may cre-
ate a crossroads situation: upgrade or convert. The possible increase in future administrative
overhead and manual data entry may be an issue. There will also be a single point of failure
for dynamic registrations.
A final option is to supplement your current DNS structure with Windows 2000. If your com-
pany hasn’t installed and maintained recent BIND versions on your root DNS servers, and
issues have been minimal, you may decide that there’s no reason to “fix something that’s not
broken.” UNIX administrators may approach Microsoft’s entry into the directory services
arena very cautiously. With this option, you avoid the replacement of your current DNS, as 3
MANAGING
DOMAINS,
You can delegate a new Windows 2000 DNS namespace from the existing DNS structure.
When a DNS namespace is delegated off an existing DNS tree, the DNS server that owns the
zone file for the newly delegated namespace becomes the primary master for that namespace.
The DNS zone name should correspond to the ADS root domain. This is recommended if you
want the benefits of the Windows 2000 DNS server. You can continue using the existing DNS
server without delegating the Active Directory namespace as long as current DNS servers sup-
port the SRV records and dynamic updates.
One advantage of this option is that your initial integration efforts are minimized. You don’t
have to revamp your entire DNS infrastructure. Because your current DNS root is UNIX-based
(north-rim.com), you can configure a subdomain (w2k.north-rim.com) and create a new zone
strictly for your Windows 2000 clients. Another advantage is that you reduce Active
Directory’s dependence on your current DNS and avoid any potential incompatibility prob-
lems.
A disadvantage to this option is that it requires a separate namespace for Windows 2000
logons. This may increase administrative overhead in the long run, including managing dual
DNS services. However, companies running DNS on BIND are familiar with distributed or
“localized” DNS support, so hierarchical support of DNS as mentioned in this option is quite
common already. As a result, many companies will likely opt for this integration solution.
94
If you are using the BIND boot file with the DNS service after migration, other limitations
apply to the use of this file by the DNS service. For example, some BIND boot directives are
not supported—in particular, xfrnets and other directives provided with versions of BIND, such
as version 8.1.1 or higher.
If you are accustomed to manually editing DNS zone files, be aware that the DNS service uses
RFC-compliant notation for its supported resource records (RRs). In most cases, the DNS ser-
vice interprets and loads RRs from zone files originally created for BIND DNS servers without
any need for file changes. If, however, you have used nonstandard record formatting, the DNS
service will detect these edits and interpret them as bad or errored zone data.
When the BIND Secondaries option is checked on the Advanced tab of the server properties,
no fast transfers are made (see Figure 3.8). By default, the check box is cleared to enable fast
transfers.
3
FIGURE 3.8
MANAGING
DOMAINS,
Supporting Active Directory with Other DNS Server
Implementations
In many large organizations, DNS is already implemented using other solutions, such as UNIX
DNS servers that run legacy versions of BIND software. In some cases, these DNS servers are
not equipped to support the DNS requirements for deploying Active Directory. This issue can
be addressed in one of two ways:
• Upgrade any BIND DNS servers to version 8.1.2 or higher to meet the DNS require-
ments for Active Directory support.
• Use the DNS service provided with Windows 2000 server to migrate, if possible, any of
your current DNS zones to Windows 2000 DNS servers.
Although the DNS service is recommended to support Active Directory, you can use other
DNS server implementations for this purpose. These other implementations should support the
(SRV) resource records (RFC 2782) and dynamic updates in DNS (RFC 2136).
Support for dynamic updates is recommended but not essential. Support for the SRV resource
record is mandatory because it is required to provide basic DNS support to Active Directory.
Windows NT Server 4.0 (updated to Service Pack 4 or higher) supports the DNS requirements
of Active Directory including SRV RRs. It does not support IXFRs or dynamic updates.
96
Additional manual administration of SRV resource records is needed for DNS configuration
support of Active Directory to function properly on a DNS server that does not support
dynamic updates. For more information, see the “SRV Records” section earlier in this chapter.
If you decide to use Windows DNS service and manage it with a split DNS configuration in
which one of the following is true:
• Existing DNS servers for root zones are not to be upgraded or migrated to other DNS
solutions
• The DNS service and Windows 2000 server are to be deployed and provide management
of any DNS domain names required to register, update, and support for use with Active
Directory
Then you can modify your DNS namespace design plans in either of the following ways:
• Create a single new subdomain in your current DNS domain namespace to root your first
Active Directory domain.
For example, if your organization has registered and is using a second-level domain
name, such as north-rim.com, you can create a single subdomain such as ad.north-
rim.com and use this domain to root the DNS domain namespace used by Active
Directory. The DNS service is automatically configured to support Active Directory
when you install the first domain controller.
Before you create a zone for the new subdomain at a computer running the DNS Server
service, you can delegate these subdomains away at the primary zone for your second-
level domain, such as north-rim.com. In some cases, you might only need to notify
another DNS or UNIX system administrator in your organization to make the delegation
for you.
• Create multiple subdomains based on your DNS second-level domain to support registra-
tion of Active Directory in DNS.
For example, if your organization has a registered second-level DNS domain name already in
use (such as north-rim.com), you can create additional subdomains that are delegated to
Windows DNS servers and used only for registering DNS names related to Active Directory.
This method is more complex to implement but causes less change to your currently deployed
DNS infrastructure that is not Windows-based. With this namespace design, you create only
those additional subdomains and appropriate zones needed to support your Active Directory
deployment. For example, in this configuration, the domain name north-rim.com is both the
root DNS and the root Active Directory domain name for your organization.
Managing Domains, Trusts, and DNS
97
CHAPTER 3
For this configuration, you first need to create zones for the following subdomains using the
DNS snap-in tool at a computer running DNS service and Windows 2000 server:
_msdcs.north-rim.com
_ldap._tcp.north-rim.com
Before these zones are created, you can delegate these subdomains away at the primary zone
for your parent or second-level domain name or notify another DNS administrator who man-
ages these zones for your organization to do so.
MANAGING
DOMAINS,
Down-level clients (Windows NT 3.5 and 3.51, Windows NT 4.0, Windows 95, and Windows
98), however, rely on NetBIOS, which can use an NBNS (WINS), broadcast, or flat
LMHOSTS file. In particular, the NetBIOS name service is used for domain controller loca-
tion.
WINS Referral
WINS filled the role of domain and machine locator service for previous versions of
Windows NT. Windows 2000 does not require WINS in a NetBIOS-less environment.
However, WINS is always required in a mixed environment where Windows 2000-based
machines interoperate with other systems such as Windows NT 4.0, Windows 9x, and
Windows for Workgroups.
WINS Referral is the recommended way for Windows 2000 DNS clients to address down-level
machines registered in WINS. Because Windows 2000 resolvers are optimized to use DNS,
they would be much more efficient looking up down-level clients in a DNS database as
opposed to a WINS database. To enable this kind of lookup, you can create a WINS referral
zone in DNS that points to the WINS database. This zone does not perform any registrations or
updates, as it simply refers DNS lookups to WINS.
98
Whenever Windows 2000-based clients send a query with an unqualified name, the default
domain name suffix is tried first. Additional suffixes, however, can be supplied as part of the
DHCP configuration. If the name of the WINS Referral zone is one of them, all WINS client
names can be resolved.
Benefits
Here are some of the benefits of using DHCP:
• You don’t need to manually change the IP settings for a mobile client that moves
between different sites of your network because the client automatically receives a new
IP address as long as a DHCP server is available on the new subnet.
• You don’t need to manually configure settings for DNS or WINS. The DHCP server
assigns these settings when you enable this option on the client by selecting the Obtain
DNS Server Address Automatically option button.
Managing Domains, Trusts, and DNS
99
CHAPTER 3
FIGURE 3.9
Setting a Windows 2000 client for DHCP.
• You can avoid duplicate IP addresses conflicts and reduce network administration and
manual entry errors by centrally defining global and subnet-specific TCP/IP configura- 3
tions.
DOMAINS,
need to set up a DHCP server on every subnet.
DHCP Discover
DHCP Offer
DHCP Request
DHCP
Client
DHCP
DHCP Acknowledgement
Server
FIGURE 3.10
The DHCP reservation process.
After the client is configured, the DHCP server places a lease time on the address, which is
based on the lease time setting in the DHCP options window (this value is set in seconds).
Halfway through the lease period, the DHCP client requests a lease renewal, and the DHCP
server extends the lease. This means that when a machine stops using its assigned IP address,
the lease expires and the address is returned to the pool for reassignment. This occurs if a
mobile computer leaves the network.
The four steps necessary for a DHCP client to acquire a lease from a DHCP server are initiated
automatically when the computer is first booted. The following host systems can act as DHCP
clients:
• Windows NT Workstation (3.5 through Windows 2000)
• Windows NT Server (3.5 through Windows 2000)
• Windows 9x computers
Managing Domains, Trusts, and DNS
101
CHAPTER 3
• Windows for Workgroups version 3.11 (with the Microsoft 32-bit TCP/IP VxD installed)
• Microsoft Network Client version 3.0 for the Microsoft MS-DOS operating system (with
the real-mode TCP/IP driver installed)
• LAN Manager version 2.2c
• UNIX workstations
• Macintosh computers
• Network printers and print servers
led
S
dy
ow
t
es
na am
kn
qu
m
ac
A
re
ic
n
se
se
up
lea
lea
da
e
te
IP
IP
of
3
1
Windows 2000
DHCP Client
FIGURE 3.11
Windows 2000 DHCP clients and dynamic update.
102
t
en
m
ge
led
ow
t
es
kn
qu
ac
re
se
se
lea
lea
IP
IP
DHCP Client
(Pre-Windows 2000)
FIGURE 3.12
Older DHCP clients and dynamic updates.
4. Using the dynamic update protocol, the DHCP server updates the DNS forward (A)
record for the client.
5. Using the dynamic update protocol, the DHCP server updates the DNS reverse (PTR)
record for the client.
Configuring DHCP
You can define server- and scope-specific configuration settings to identify routers and set
DHCP client configurations.
DHCP Scopes
A DHCP scope identifies the possible IP addresses for DHCP clients on a specific subnet.
Scopes define a range in which DHCP services are to be offered and allow the server to iden-
tify configuration parameters (such as DNS and WINS information if necessary) provided to
DHCP clients. A scope must be defined before DHCP clients can acquire an IP address.
To configure a DHCP server scope, perform the following steps:
1. In the DCHP snap-in, right-click the server icon, select New Scope, and click Next.
2. In the scope window, input the scope name and detail information, and then click Next.
3
MANAGING
DOMAINS,
and click Next. A subnet mask, based on the address class, will be entered by default.
You can modify this subnet mask, or click Next.
NOTE
You cannot modify the subnet mask after the scope has been created. Make sure that
it is correct before continuing.
4. In the Add Exclusions window, input a range of addresses that are currently statically
assigned, or are scheduled to be. Click Next.
5. In the Lease Duration window, set the lease time of the address. The default lease time is
set to eight days (up from three days in NT4). Click Next.
6. In the Configure Your DHCP Options window, you have the option of entering settings
including router, DNS, and WINS. You can elect to perform this configuration later by
selecting the appropriate radio button. Click Next.
7. If you elect to configure the options, input the appropriate value into the subsequent win-
dows for routers, domain name, and DNS servers and, finally, WINS servers.
8. In the Activate Scope window, click the radio button to activate the scope.
9. Click Next, and then click Finish.
104
Address Pools
After a DHCP scope is defined and exclusion ranges are applied, the remaining addresses form
an available address pool within the scope. The Address Pool folder in the Scope folder con-
tains the various address pools.
Exclusion Ranges
An exclusion range is a sequence of IP addresses within a scope that are excluded from assign-
ment by the DHCP service.
Reservations
Reservations allow permanent address lease assignment to a host (such as a printer or dedi-
cated engineering PC). The DHCP server reserves the address in its pool, ensuring that the host
will always use the same IP address. Reservations ensure that the DHCP service does not
duplicate or reassign the IP address. Reservations can be useful for network devices such as
UNIX workstations, print servers, printers, and so on.
Each reservation requires a Media Access Control (MAC) from the network interface card
(NIC) for the DHCP client.
FIGURE 3.13
Configuring the DHCP server for Dynamic DNS.
Summary 3
MANAGING
DOMAINS,
native mode. The chapter also looked at the new trust relationship with Active Directory, which
is composed of two-way transitive trusts to other domain controllers, while still having the
option of setting exclusive one-way trusts. Lastly, it discussed DNS in Windows 2000 and
other third-party versions. DNS will be a critical, and controversial, issue for many enterprises
looking to implement Active Directory. Chapter 4, “Managing Users, Groups, and Computers,”
looks into managing users, computers, and DHCP.
Managing Users, Groups, and CHAPTER
4
Computers
IN THIS CHAPTER
• Object Management Fundamentals 108
A significant portion of Active Directory administration involves managing users, groups, and
computers. Active Directory plays several major roles in providing security.
Active Directory confirms the identity of any user logging in to a domain through user authen-
tication and allows users to access resources. A key feature of Windows 2000’s user authentica-
tion process is its single sign-on capability, which provides access to multiple network
resources through a single user logon.
NOTE
Access tokens are not updated until the next logon, which means that if a user’s
group membership is changed, the user must log off and log on before the access
token is updated.
• Access Control List (ACL). Each Active Directory object has two associated ACLs:
• DACL. The Discretionary Access Control List (DACL) is a list of user accounts,
groups, and computers that are allowed/denied object access.
• SACL. The System Access Control List (SACL) defines which events are audited
for a user or group.
• Access Control Entry (ACE). A DACL or SACL consists of a list of Access Control
Entries (ACEs), where each ACE lists the permissions granted or denied to the users,
groups, or computers listed in the DACL or SACL. An ACE contains a SID with a per-
mission (such as Read or Write access).
Figure 4.1 illustrates the process of a user’s access token allowing access to an object.
User Human
Chris
SID Resources
Domain
Users Managers
4
(No access)
AND COMPUTERS
USERS, GROUPS,
MANAGING
ACEs
Group Human
SIDs Resources Accounting
(Read)
Managers
Marketing
(Read/Write)
FIGURE 4.1
User access token to an object in Active Directory.
110
When the user, Chris, requests access to the human resources file object, Windows 2000 com-
pares each SID in Chris’s access token to each ACE in the DACL to verify whether access is
explicitly denied to Chris or to any of his membership groups. Then it verifies whether the
requested access is permitted. Windows repeats these steps until it encounters a No Access or
until it has collected all the necessary permissions to grant the requested access. If the DACL
does not specifically allow permission for each requested access, access is denied.
In Figure 4.1, the user authentication creates an access token for the user, which contains the
user’s primary SID, together with the SIDs of the user’s group memberships. This user is
authorized to access the human resources file.
Managing Users
In Active Directory you can add, disable, reset, rename or delete user and computer accounts
using the Active Directory Users and Computers tool. The following sections describe these
processes further.
User Accounts
A user requires a user account to log on to a computer or to a domain. The account identifies
the user, and Active Directory uses this identity for user authentication. Subsequently, the user
is given access to resources.
User accounts can also be used as service accounts for some applications, such as backup pro-
grams, Microsoft SQL, and Microsoft Exchange. A service can be configured to log on as a
user account, and it is then granted access to resources via that user account.
NOTE
The Guest account is disabled by default, and you must enable it to allow unre-
stricted access to the computer. This is not recommended, however.
AND COMPUTERS
USERS, GROUPS,
7. In the Password and Confirm Password boxes, type the user’s password.
MANAGING
8. Select the appropriate password options.
9. Click Next, and then Finish. Note an example of this in Figure 4.2.
You can also click the new user icon on the toolbar to add a new user. After creating the user
account, you can edit the user account properties to enter additional user account information.
Another method for creating users is to copy any previously created Windows 2000 user
accounts. Using this procedure, you can create template accounts to allow for convenient cre-
ation of new user accounts.
112
FIGURE 4.2
Creating a new user object in Active Directory.
NOTE
The User Account Copy function is available only in Active Directory Users and
Computers. Local user accounts created on non-domain controllers may not be
copied.
Managing Users, Groups, and Computers
113
CHAPTER 4
NOTE
After a user account (and corresponding SID) has been deleted, all permissions and
memberships associated with that user account (SID) are deleted. The security descrip-
tor for each account is unique. A new user account with the same name as a previ-
ously deleted user account cannot inherit the permissions and memberships of the
previously associated with the deleted account (SID). All permissions and member-
ships must be manually re-created for the new account (SID) with the same name.
Modifying Users
To modify user account properties, perform the following steps: 4
AND COMPUTERS
USERS, GROUPS,
1. Open Active Directory Users and Computers.
MANAGING
2. In the console tree, click Active Directory Users and Computers, then the domain, and
then the folder containing the user account (typically Users).
3. Right-click the user account, and then click Properties.
4. Edit the desired properties, and click OK.
Rename
To rename a user account, perform the following steps:
1. Open Active Directory Users and Computers.
2. In the console tree, click Active Directory Users and Computers, then the domain, and
then the folder containing the user account (typically Users).
114
3. In the details pane, right-click the user account and then click Rename.
4. Enter the new name, and click Enter.
5. In the Rename User window, enter the new name information.
6. In the User Logon Name box, type the name that the user will log on with and, from the
drop-down list, click the UPN suffix for the new name.
7. Click OK.
As mentioned earlier, if the user will use a different name to log on from computers running
down-level Windows versions, type the different name in pre-Windows 2000 logon name.
Resetting Passwords
To reset a user password, perform the following steps:
1. Open Active Directory Users and Computers.
2. In the console tree, click Active Directory Users and Computers, then the domain, and
then the folder containing the user account (typically Users).
3. In the details pane, right-click the user whose password you want to reset, and then click
Reset Password.
Managing Users, Groups, and Computers
115
CHAPTER 4
NOTE
Any services that are authenticated with a user account must be reset if the password
for the service’s user account is changed.
AND COMPUTERS
USERS, GROUPS,
MANAGING
4. On the Member Of tab, click the group that you want to set as the user’s primary group;
click Set Primary Group; and then click OK.
Locating Users
To find a user account, perform the following steps:
1. Open Active Directory Users and Computers.
2. If you want to search the entire domain, in the console tree, right-click the domain node,
and then click Find. If you know which organizational unit the user is in, right-click the
organizational unit in the console tree and then click Find.
3. In the Name box, type the name of the user you want to find.
4. Click Find Now.
NOTE
There are many search options in the In drop-down menu. If you are not certain of
the resource’s exact location, you can search the entire directory, which scans the
Global Catalog for Active Directory.
You can also click the find object icon on the toolbar. Click the Advanced tab for more specific
search options.
NOTE
Active Directory Users and Computers cannot move user accounts between domains.
To move a user account between domains, use movetree.exe, one of the Active
Directory support tools. See the glossary for more information on this tool.
Managing Users, Groups, and Computers
117
CHAPTER 4
Profile Types
Three types of user profiles exist in Windows 2000. They are
• Local
• Roaming
• Mandatory
Local profiles are created on the local machine when the user first logs on. These profiles are
stored locally on the computer’s hard drive. For Windows 2000 clients, these are stored in the
C:\Documents and Settings\<username> folder. Each time a user logs in to this particular
machine, his respective profile is retrieved. Local profiles apply to that particular machine only
and do not follow the user when he logs on to a different computer.
Roaming profiles are created by administrators and stored on network servers. This profile 4
“roams” with the user, regardless of the computer being used. When the user first logs on to a
AND COMPUTERS
USERS, GROUPS,
different computer, the entire profile is copied locally. Any changes made to the roaming user
MANAGING
profile are saved up to the server. Any updates are copied down to the different computers
where the user’s profile already exists when the user logs on.
NOTE
From an administrative standpoint, you should store roaming profiles on a member
server as opposed to a domain controller. This will improve logon performance on
your network.
118
To create a roaming user profile, you need to first configure a shared folder using the standard
UNC \\server\share nomenclature (for example, \\dc1\profiles). Then, in the user’s properties,
on the profile tab, enter the profile path using the variable %username% as displayed in
Figure 4.3.
FIGURE 4.3
Configuring roaming user profiles.
Mandatory profiles, as the name implies, are profiles that are enforced by the administrator. As
with roaming profiles, mandatory profiles are downloaded from the network server. Even
though they can be modified locally by the user, changes are not saved to either the server or
local computer.
The profiles are made mandatory by changing one of the hidden files in the user’s profile. By
renaming the NTUSER.DAT file to NTUSER.MAN, the file is made read-only. You can create
a mandatory profile template for use with multiple users (for example, \\dc1\profiles\users\
ntuser.man).
NOTE
If user machines are Windows NT 4.0 or 2000, you do not need to include the file por-
tion of the path (ntuser.man). If Windows NT 3.1 exists in your environment, you
must include the filename in the profile path.
Managing Users, Groups, and Computers
119
CHAPTER 4
AND COMPUTERS
USERS, GROUPS,
FIGURE 4.4
MANAGING
Mapping a home directory folder path.
NOTE
Be sure to use a higher letter in the alphabet for your drive selection that will not
conflict with locally configured physical or logical drives, such as removable media
drives.
120
Managing Groups
Groups are Active Directory (or local computer) objects that can contain users, contacts, com-
puters, and other groups. Groups are created in domains using the Active Directory Users and
Computers tool. You can create groups in any domain, organizational unit, or Container class
object (such as the default Users container). Like user and computer accounts, groups are
Windows 2000 security principals, which means that they have SIDs assigned to them when
they are created.
Planning group strategies is an essential part of deploying Active Directory. You should under-
stand how the number of domains and their type affect group strategy.
NOTE
Both mixed-mode and native-mode domains can contain Windows NT 4.0 member
servers and Windows NT and Windows 9.x clients.
Group Types
Windows 2000 Active Directory has two kinds of groups:
• Distribution groups
• Security groups
Although this section is primarily about the role groups play in security, distribution groups are
also briefly described to clarify the difference between the two group types. The next two sec-
tions describe the characteristics of distribution and security groups.
Distribution Groups
Distribution groups serve only one purpose: to create email distribution lists. You use distribu-
tion groups with email applications, such as Microsoft Exchange, to send email to the mem-
bers of the group.
Distribution groups have no security purpose. They cannot have permissions assigned to them.
Distribution groups can be used for bulk mailing and for universal groups, even in a mixed-
mode domain.
Security Groups
Active Directory security groups permit you to organize users and other domain objects into
groups for easy administration of access permissions.
Managing Users, Groups, and Computers
121
CHAPTER 4
Security groups let you assign the identical permissions to large numbers of users at the same
time, ensuring consistent permissions among all group members. You can add and remove
users as necessary, and the Access Control Lists change infrequently. Changing a permission
for the group affects all users in the group.
Active Directory provides several predefined security groups, and we’ll talk about creating
your personal security groups in the following section.
AND COMPUTERS
USERS, GROUPS,
• Some growing small organizations will initially implement the global/local pattern
MANAGING
used by larger organizations. Remember that universal security groups, and their
group memberships, are listed in the global catalog database, and frequent changes
might impact replication traffic. In this situation, follow the guidelines for medium
to large organizations.
• Medium to large organizations. Experience shows that using the approach described next
will help you achieve maximum flexibility, scalability, and ease of administration when
managing security groups.
• Put users with similar access needs into security groups with global scope.
• Put users into security groups with domain local scope.
• Put a global group into any domain local group in the forest (particularly for multi-
domain environments), to grant access to the global group.
122
• Assign permissions for accessing resources to the domain local groups that contain
them.
• Delegate administration of groups to the appropriate manager or group leader. Note
the strategy in Figure 4.5.
Global
Security
Groups
Users
Domain Local
Security
Groups
Resources
FIGURE 4.5
The administration strategy for security groups.
NOTE
As previously mentioned, the Global Catalog stores the names of universal groups
and the names of all the members of those universal groups. Because of this, you
should use global groups as members of universal groups to reduce overall replica-
tion traffic from changes to universal group membership.
Managing Users, Groups, and Computers
123
CHAPTER 4
Universal groups are commonly used only in multiple domain trees. Active Directory domains
must be in native mode to use universal security groups. A domain model that has only a single
domain does not require universal groups.
Local groups are security groups that are created only on non-domain controllers and are not
recognized elsewhere in the domain. They are created with the Local Users and Groups node
of the Computer Management snap-in. This node is not available on domain controllers.
Group membership should be limited to 5,000 members, regardless of whether the groups are
security groups or distribution groups. This number is not enforced but should be considered a
hard limit. The design specification of Active Directory guarantees replication of up to 5,000
members but no more. In instances in which having more than 5,000 members in groups is
required, use nested groups to bring down the number of objects in single group membership
(as mentioned earlier in this section).
Let’s take a closer look at the different kinds of group scope.
Mode Domain local groups are available in both native-mode and mixed-
mode domains.
Membership Like local groups, domain local groups can have members from
anywhere in the forest, from trusted domains in other forests, and
from trusted down-level domains. 4
AND COMPUTERS
USERS, GROUPS,
Permissions A domain local group has domain-wide scope; that is, it can be used
MANAGING
to grant resource permissions on any Windows 2000 machine within
the domain in which it exists (but not beyond its domain).
Domain local groups help you define and manage access to resources within a single domain.
To take advantage of domain local groups, perform the following steps:
1. Create a group with domain local scope, and assign it permission to access the resource.
2. Put user accounts into a group with global scope, and add (nest) this global group into a
domain local group.
When you want to give new or other users access to the resource, you can add them to the
global group that is a member of the domain local group that has permission to access the
resource.
124
Using domain local groups in this way provides the following benefits:
• Membership of the domain local group is controlled by the administrator of the specified
domain where the group is located, regardless of whether members of the group are from
another domain.
• Because a domain local group is associated with an access token built when a member of
that group authenticates to a resource in that domain, unnecessary network traffic is
avoided. Less network bandwidth is required to validate one global group containing
hundreds of users than to validate hundreds of individual users. If you were to assign a
global group permission to access the resource, the global group could end up in a user’s
token anywhere in the forest, causing unnecessary network traffic.
One advantage of domain local groups is that membership is not published to the global cata-
log server (GC) and therefore does not affect GC replication. Another advantage is that
Outlook clients can view full user membership if they are located in the same domain as the
group (however, this does not apply to Outlook users in other domains). A final advantage of
domain local groups is that they can consist of users from any domain, although domain local
permissions cannot be assigned to resources in other domains. Also, their expansion must take
place on a local domain controller.
Global Groups
Global groups, effectively the same as Windows NT global groups, have the features shown in
Table 4.2.
Groups with global scope help you manage directory objects that require daily maintenance,
such as user and computer accounts.
Use global groups to organize users or computers that are in the same domain and share the
same responsibility, organizational role, or function. Managers and RAS Servers are examples
Managing Users, Groups, and Computers
125
CHAPTER 4
of possible global groups. Because members of global groups typically need to access the
same resources, you should make these global groups members of local or domain local
groups, which are listed on the DACL of needed resources.
Just like domain local groups, global groups membership is not published to the global catalog
server (GC) and therefore does not affect GC replication. However, the global group definition
(not the membership) is replicated to the global catalog. The impact of this function from a
replication standpoint is minimal (about 180 bytes) space in the global catalog.
Also, like domain local groups, global groups can contain account objects only from the same
domain. A similar advantage is that Outlook clients can view full user membership if they are
located in the same domain as the group (however, this does not apply to Outlook users in
other domains).
The big advantage of global groups is that permissions can be assigned to resources in any
domain in the enterprise.
Universal Groups
Universal groups are the most flexible type of group in Active Directory. When your organiza-
tion is in native mode, universal groups can be either distribution groups or security groups. If
your organization is in mixed mode, universal groups can be distribution groups only.
Use universal groups when there is a requirement for both global membership and global
usage. Universal groups and their membership are replicated to the global catalog. Universal
group membership consists of global groups, which reduces GC impact. Universal group mem-
bership tends to contain many user accounts. Size and replication impact increases as a result.
Universal groups, a new feature of the Windows 2000 operating system, have the following
features seen in Table 4.3:
4
AND COMPUTERS
USERS, GROUPS,
TABLE 4.3 Universal Group Features
MANAGING
Mode Universal groups are available only in native-mode domains.
Membership Universal groups can have members from any Windows 2000
domain in the forest. (Universal groups can contain members from
mixed-mode domains in the same forest, but this is not recom-
mended. Members from such domains cannot have the universal
group’s SID added to their access token because universal groups
are not available in mixed-mode domains. Therefore,
troubleshooting access problems would be difficult.)
Permissions Universal groups can be granted permissions in any domain, includ-
ing in domains in other forests with which a trust relationship exists.
126
A small organization can use universal groups to implement a relatively simple group structure.
If you choose to use groups with universal scope in a multi-domain environment, these groups
can help you represent and consolidate groups that span domains.
Although few organizations will choose to implement this level of complexity, you can add
user accounts to groups with global scope, nest these groups within groups having universal
scope, and then make the universal group a member of a domain or machine local group hav-
ing access to resources. This way, membership changes in the groups having global scope have
no impact on the groups with universal scope.
One advantage of universal groups is that their membership can consist of any objects in the
forest, and enterprise Outlook users can view full membership. They can also be used in
mixed-mode domains when type is set to Distribution and not Security—because universal
security groups can be created only when a domain is in native mode.
Unlike domain local and global groups, modifications to universal groups cause replication to
the global catalog servers.
Local Groups
Local groups are sometimes referred to as machine local groups to contrast them with domain
local groups. Local groups have the following features:
Mode Local groups are the only type of local group available in a
Windows 2000 mixed-mode domain. In the case of Windows 2000
native-mode domains, only Built-in groups have local scope.
Membership Local groups can have members from anywhere in the forest, from
trusted domains in other forests, and from trusted down-level
domains.
Permissions A local group has only machine-wide scope; that is, it can be used
to grant resource permissions only on the machine on which it
exists.
Groups having global or domain local scope are also listed in the global catalog, but their indi-
vidual members are not listed. Using these groups thus reduces the size of the global catalog
and reduces the replication traffic needed to keep the global catalog up-to-date. Therefore, use
groups with global or domain local scope if the group membership changes frequently.
Nesting Groups
You can also nest groups. Nesting groups is the process where you can add a group as a mem- 4
ber of another group. Nesting groups makes it easier to manage users and can reduce network
AND COMPUTERS
USERS, GROUPS,
MANAGING
traffic caused by replication of group membership changes.
• Groups with domain local scope can contain user accounts, universal groups, and global
groups from any trusted domain. They can also contain other domain local groups from
within the same domain. (Typically, put user accounts into global groups, not into
domain local groups, then put the global groups into domain local groups, and then
assign access permissions to resources to the local groups.)
Security groups in a mixed-mode domain can contain only the following:
• Local groups can contain global groups and user accounts from trusted domains.
NOTE
You should not place users directly into local groups. Place them into global groups,
put global groups into local groups, and then assign permissions to the local groups.
Modifying Groups
In addition to users and computers, membership in a particular group can include contacts and
other groups.
NOTE
If the domain in which you are creating the group is in mixed mode, you can only
select security groups with domain local or global scopes.
Managing Users, Groups, and Computers
129
CHAPTER 4
FIGURE 4.6
Creating a new group in Active Directory. Note that the Universal group is not an option for this security group, indi-
cating that this domain is in mixed mode.
AND COMPUTERS
USERS, GROUPS,
To convert a group to another group type, perform the following steps:
MANAGING
1. Open Active Directory Users and Computers.
2. In the console tree, expand the domain node if necessary.
3. Click the folder that contains the group.
4. In the details pane, right-click the group and then click Properties.
5. On the General tab, under Group type, click the group type.
Locating Groups
To find a group, perform the following steps:
1. Open Active Directory Users and Computers.
2. In the console tree, right-click the domain node and then click Find.
3. On the Users, Contacts, and Groups tab, in the Name box, type the name of the group
you want to find.
4. Click Find Now.
To find groups in which a user is a member, perform the following steps:
1. Open Active Directory Users and Computers.
2. In the console tree, expand the domain node if necessary.
3. Click the Users folder.
4. In the details pane, right-click a user account and then click Properties.
5. Click the Member Of tab.
Editing Groups
To modify group properties, perform the following steps:
1. Open Active Directory Users and Computers.
2. In the console tree, expand the domain node if necessary.
3. Click the folder that contains the group.
4. In the details pane, right-click the group and then click Properties.
Managing Users, Groups, and Computers
131
CHAPTER 4
AND COMPUTERS
USERS, GROUPS,
FIGURE 4.7 MANAGING
Adding user object csmith to the Test Lab global security group.
4. In the details pane, right-click the group, and then click Properties.
5. Click the Members tab.
6. Click the member(s) you want to delete, and then click Remove.
7. Click Yes to confirm the deletion of the account(s).
Renaming a Group
To rename a group, perform the following steps:
1. Open Active Directory Users and Computers.
2. In the console tree, expand the domain node if necessary.
3. Click the folder in which the group is located.
4. In the details pane, right-click the group and then click Rename.
5. Type the new group name.
6. In the Rename Group Box, you may also change the pre-Windows 2000 group name.
7. Click Finish.
Replication Conflicts
If administrators at two different domain controllers change group membership simultaneously,
one of the changes might be lost. This situation can occur only if you are making group mem-
bership changes faster than the system can replicate them. When an administrator adds or
removes members from a group, the entire group membership is replicated, not just the
changed members. If two administrators change group membership on two different domain
controllers and replication takes place on the second domain controller before the first domain
controller completes replication, only one of the changes remains after the Active Directory
resolves the replication conflict. The other change is lost. As a result, a user might unexpect-
edly retain or lose access to a resource.
One way to minimize this problem is to use nested groups. Create site-specific groups and
make them members of a parent group that will be used to grant or deny access to a resource.
Administrators in a site can then change the membership of a site-specific group and not lose
changes as long as the membership of the site-specific group is not updated on multiple
domain controllers faster than intrasite replication can complete. Also, if you delegate responsi-
bility for group membership changes to one administrator per site, all changes will be made on
a single domain controller, and no replication conflicts will occur.
In an Active Directory site, the amount of time it takes for a change to reach all the domain
controllers increases as the number of domain controllers increases with a maximum latency of
approximately three times the replicator notify pause interval. Generally, replication finishes
Managing Users, Groups, and Computers
133
CHAPTER 4
quickly within a single site. Replication between two or more Active Directory sites generally
takes longer and is dependent on the replication schedule configured by the administrator as
well as whether the administrator configures intersite replicator notifications.
To avoid this situation completely, make all group membership changes on a single domain
controller. This prevents changes from being lost due to replication conflicts.
NOTE
Default settings enable only Domain Admins to add a computer account to a domain.
4
AND COMPUTERS
USERS, GROUPS,
Click Change to specify a different user or group that can add this computer to the
MANAGING
domain.
To view or change the full computer name of a computer and the domain that a computer
belongs to, right-click My Computer, click Properties, and then click the Network
Identification tab.
There are two additional ways to give a user or group permission to add a computer to the
domain: use a Group Policy object to assign the right Add computer user (discussed in
Chapter 5, “Active Directory Security”), or allow them to create computer objects by assigning
the user or group the permission Create computer objects in their organizational unit.
134
FIGURE 4.8
Creating a new computer security object in Active Directory.
Locating Computers
To find a computer account, perform the following steps:
1. Open Active Directory Users and Computers.
2. If you want to search the entire domain, in the console tree, right-click the domain node
and then click Find.
Or, if you know which organizational unit the computer is in, in the console tree, right-
click the organizational unit and then click Find.
3. In the Find box, click Computers.
4. In the Name box, type the name of the computer you want to find.
5. To find only domain controllers, in Role, click Domain Controller.
Or, to find only workstations and servers (not domain controllers), in Role, click
Workstations and Servers.
6. Click Find Now.
The Advanced tab offers more powerful search options.
To find a computer, you can also click the search icon on the toolbar.
AND COMPUTERS
USERS, GROUPS,
This starts the Computer Management snap-in, where you can administer local and remote
MANAGING
computers.
NOTE
You cannot reset the computer account for a domain controller.
NOTE
The Advanced Features enable security features that are hidden by default.
AND COMPUTERS
USERS, GROUPS,
MANAGING
9. Under Permissions, in the Properties tab, click Write dNSHostName, and then click the
Allow check box.
10. Click OK three times to close all boxes and accept the changes.
NOTE
By modifying default security in this way, there is the possibility that a computer
joined to the selected domain could be operated by a malicious user and might be
able to advertise itself under a different name through the service principal name
attribute.
138
This procedure also allows computers to have DNS host names longer than 15 bytes.
FIGURE 4.9
Allowing a computer to use a different DNS name.
Summary
In this chapter, we addressed managing users and groups, the different scopes (domain local,
global, and universal) and types (distribution and security) associated with groups in Active
Directory. We also addressed computer accounts as well as sharing folders and printers in
Active Directory. In the next chapter, we’ll take a closer look at Active Directory security.
Active Directory Security CHAPTER
5
IN THIS CHAPTER
• The Active Directory Security Model 140
The Active Directory environment offers various new security features. Security in Active
Directory involves the use of Access Control Lists (ACLs) and security identifiers (SIDs) to
determine access to objects and the level of access. This chapter provides a closer look at the
security features of Active Directory, such as Kerberos and IPSec, as well as access control
security. This chapter also addresses publishing resources in Active Directory and the delega-
tion and ownership of those processes.
Kerberos Authentication
Kerberos is automatically installed when the Active Directory is installed on a Windows 2000
domain controller (DC). Kerberos is used for user logon authentication, as well as to support
the transitive trusts in Windows 2000.
NOTE
NTLM is still supported in Windows 2000 for compatibility with down-level clients and
servers, as well as with Windows 2000 standalone computer logons.
Active Directory Security
141
CHAPTER 5
Kerberos Components
As mentioned in the Note, the Kerberos name evolved from the three-part functionality of its
protocol. The three parts are
• The client, which is the computer requesting a service
• The server, which is the computer providing the service
• The Key Distribution Center (KDC), which is the computer issuing the session key nec-
essary for the client and server to communicate
The Kerberos authentication process is the result of an interaction among the client requesting
a service, the server providing the service, and the KDC.
In Kerberos, a special key server—the KDC—distributes keys. For security purposes, the sys-
tem actually requires the following three keys in order to provide secure interaction among
client, server, and KDC:
• Session key—A temporary key generated by the KDC that encrypts messages between a
client and a specific service running on a server computer.
• Client key—A key derived from the user’s password that is used to distribute a session
key to the client. Only the client and KDC know this key. The KDC uses the client key
to encrypt a copy of the session ticket, which the client sends to the server to initiate the
connection.
• Server key—A key known only by the server and the KDC. The KDC packages the
information it wants the server to know (a copy of the session key and information on
the client requesting the connection) and uses the server key to encrypt that package of
information into the session ticket. It then encloses the session ticket into a message to
the client, encrypted with the client key. The client extracts the session ticket and sends it
to the server.
The following are some of the benefits of Kerberos over NTLM:
• Mutual authentication—With Kerberos, servers can identify clients, and vice versa. In
NTLM, this was not the case—servers were capable of identifying clients, but not vice
versa.
• Efficiency—In Kerberos, clients are authenticated only once and can reuse their creden-
tials throughout the logon session.
• Delegated authentication—Kerberos allows a service to impersonate its client when con-
5
necting to other services. NTLM did not support this process.
DIRECTORY
SECURITY
Steps 2 and 3
KDC
1
ep
St
4
ep
St
Step 6
Client
Server
Step 5 Steps 7 and 8
FIGURE 5.1
The Kerberos authentication process.
7. The server decrypts the ticket with its long-term key and gets the session key.
8. The server uses the session key to decrypt the authenticator.
NOTE
Windows 2000 clients use the Kerberos logon, if possible. Pre-Windows 2000 clients
do not support Kerberos and log on using NTLM authentication.
Kerberos Preauthentication
Kerberos is inherent to Windows 2000 computers, and no configuration is required to configure
authentication. However, Microsoft Kerberos and other versions of Kerberos do differ. If your
enterprise has already implemented Kerberos (for example, in your UNIX environment), you
may need to disable a feature called Kerberos Preauthentication.
The Microsoft Kerberos protocol implements a feature known as preauthentication, in which
the KDC performs a preliminary authentication before issuing a ticket granting ticket (TGT).
From Microsoft’s perspective, this process can assist with defending against password-guessing
attacks.
However, not all Kerberos environments support Windows 2000 preauthentication. If your
enterprise consists solely of Windows 2000 computers, there is no need to change the default
setting. If your UNIX Kerberos clients (for example) are not able to successfully interoperate
with Windows 2000 Kerberos, you need to disable preauthentication for those clients’
accounts.
To disable Microsoft’s Kerberos preauthentication, perform the following steps:
1. Open Active Directory Users and Computers.
2. Select the container or OU that holds the account for which you want to disable preau-
thentication (Users).
5
3. Right-click the Account icon in the display window and then select Properties.
4. On the Account tab of the account’s properties, scroll through the Account Options list
DIRECTORY
SECURITY
ACTIVE
and select the Do Not Require Kerberos Preauthentication check box, as shown in
Figure 5.2. Then click OK.
144
FIGURE 5.2
Disabling Kerberos preauthentication for a non-Windows Kerberos client.
FIGURE 5.3
Configuring your domain security policy.
NOTE
Kerberos Authentication Policy is implemented at the domain level and overrides
local security policy.
two-way trust exists between the Windows domain and the KDC’s Kerberos area.
SECURITY
ACTIVE
NOTE
Plan your public key infrastructure (PKI) before deploying certification authorities
(CAs).For more information on configuring PKI, see the Windows 2000 Help.
Many Windows 2000 distributed security systems use public key technology. You can deploy a
wide variety of security solutions that take advantage of the benefits of this technology.
The major components of the Windows 2000 public key infrastructure include the following:
• Windows 2000 Certificate Services
• Microsoft CryptoAPI and cryptographic service providers (CSPs)
• Certificate stores
• Certificates console
• Certification authority trust model
• Certificate enrollment and renewal methods
• Public key Group Policy
• Certificate revocation lists
• Preinstalled trusted root certificates
• SmartCard support
• Windows 2000 Certificate Services
You can deploy Windows 2000 Server and Certificate Services to issue and manage certificates
for your organization. You can also obtain Certificate Services from third-party vendors, such
as VeriSign.
ACTIVE
SmartCards
A SmartCard resembles a plastic credit card and contains the private key for an account. It may
also contain personal information related to your corporate information. You must have a PKI
implemented prior to implementing SmartCards. If you implement SmartCards, you must have
a Windows 2000 enterprise CA installed. You will also need a SmartCard reader and at least
one enrollment station. Note that Windows 2000 supports only PC/SC–compliant plug-and-
play SmartCard readers.
IPSec
IPSec (Internet Protocol security) offers secure TCP/IP networking by securing network pack-
ets among compliant hosts. IPSec provides another layer of security against network and
Internet attacks by working below the socket layer, transparent to applications.
IPSec protects IP packets and defends network attacks using cryptography-based technology.
IPSec can be implemented on wide area networks (WANs), local area networks (LANs), and
remote access clients.
IPSec Functionality
According to Microsoft, Windows 2000 IP security ensures the following:
• Anti-replay (cannot be reused)
• Authentication
• Confidentiality
• Integrity
• Non-repudiation (sender cannot deny)
Upon sending a packet, IPSec verifies whether any of the IP security policies apply to the
packet. If so, the participating computers negotiate through the Internet Key Exchange (IKE)
protocol, which results in a security agreement (SA) between the hosts.
IP security policies can be added to the default domain policy, to local computer policies, or to
other group policy objects.
Active Directory Security
149
CHAPTER 5
ACTIVE
An IP security policy must include at least one filter list. A filter list is a collection of source or
destination DNS names, IP addresses, or IP subnets with optional information on the protocols
to which the filter applies. Two filter lists are installed by default. They are
150
• All ICMP Traffic—Identifies all Internet Control Message Protocol (ICMP) traffic,
regardless of source or destination address.
• All IP Traffic—Identifies all IP traffic, regardless of source or destination address.
To create an IP filter list for an Active Directory domain, perform the following steps:
1. In Administrative Tools, select Domain Security Policy and expand the Security Settings
container if necessary.
2. Right-click the IP Security on Active Directory icon and select Manage IP Filter Lists
and Filter Actions.
3. In the Manage IP Filter Lists tab, click the Add button (see Figure 5.4).
4. Enter a name and description for the new filter. Descriptions will be beneficial as your
filter list grows. Any previously created filters will appear in the Filters box.
5. Click Add. If you uncheck the Use Add Wizard check box, the options are similar to
those in steps 6 through 11.
FIGURE 5.4
Creating a new IP filter list in IPSec.
8. Select the destination address to which the filter applies. This process is the same as
step 6. Input the necessary information, and click Next.
9. Select the TCP/IP protocol to which the filter applies. Selecting Any filters all TCP/IP
protocols. Or you can select Other, and input a port address. Click Next.
10. The next window informs you that you have finished creating the filter. You can edit the
filter properties on completion of the wizard by checking the Edit Properties box if you
like. Click Next.
11. When you complete the Add Filter Wizard, you return to the IP Filter List dialog box
(step 4). To add another filter, click the Add button and repeat steps 5 through 9. To edit
the properties of a filter, select the filter and click the Edit button. To finish creating the
filter list, click Close.
Clicking the Edit button in the IP Filter List dialog box brings up the Filter Properties
dialog box, which offers choices similar to creating a filter.
To edit a filter list, follow these steps:
1. In Administrative Tools, select Domain Security Policy. Expand the Security Settings
container if necessary.
2. Right-click the IP Securities on Active Directory icon and select Manage IP Filter Lists
and Filter Actions.
3. When the Manage IP Filter Lists and Filter Actions dialog box appears, select a filter list
and choose Edit.
4. In the IP Filter List dialog box, edit the filter list name or description. Select the appro-
priate filter and choose Edit to open the Filter Properties dialog box. The tabs of the
Filter Properties dialog box are as follows:
• Addressing—Specifies source and destination address information, as well as mir-
roring information. Mirroring means that the filter also applies to packets with
opposite source and destination addresses from the entries you specify. Filters are
mirrored by default and can be disabled in this tab.
• Protocol—Specifies the protocols and port addresses that will be filtered.
• Description—Specifies a description or explanation for the filter.
5. Click Apply, and then OK.
6. In the IP Filter List dialog box, choose a new filter to edit and click the Edit button. Or 5
click OK to close the IP Filter List dialog box.
DIRECTORY
SECURITY
ACTIVE
152
FIGURE 5.5
Creating a new IP filter action in IPSec.
Active Directory Security
153
CHAPTER 5
container if necessary.
SECURITY
ACTIVE
2. Right-click the IP Securities on Active Directory icon and select Create IP Security
Policy.
154
3. Click Next.
4. Enter a name and description for the IP security policy, and then click Next.
5. The next window asks whether you want to include the default response rule in the secu-
rity policy. Leave the box checked to include the default response rule. Or uncheck the
box to leave the default response rule out of the policy. Then click Next.
6. If you elected to include the default response rule in step 5, the next window asks you to
choose an authentication method to use with the default response rule. The default is
Kerberos, but you can alternatively select a certification authority or enter a preshared
key. Click Next after you make your choice.
7. The next window says you have completed the IP Security Wizard. Note that, so far, all
you’ve done is created a policy and (optionally) placed the default response rule in that
policy. To add other rules to the policy and configure the policy setting, you need to edit
the policy. The last window asks whether you want to edit the policy immediately after
completing the wizard. (The default is Yes.) If you leave this box checked, proceed to
step 3 of the next procedure after this step. Otherwise, click Finish.
To add a rule to an IP security policy, follow these steps:
1. In Administrative Tools, select Domain Security Policy. Expand the Security Settings
container if necessary.
2. Select IP Securities on Active Directory. The display pane lists the existing policies.
Right-click one of the security policies and select Properties.
3. The policy’s Properties dialog box appears. The Rules tab contains a list of the IP
Security rules that are currently installed with the policy. The rule list might be empty, or
it might contain the default response rule. To add additional rules, click the Add button.
4. When the Security Rule Wizard starts, click Next.
5. Select if this rule will be used in IP tunneling and, if so, select a tunnel endpoint IP
address. Click Next.
6. Select the network type for this rule (all network connections, local area network, or
remote access). Click Next.
7. Select the authentication method (Kerberos is the default), or select a CA or preshared
key. Click Next.
8. Select an IP filter list for the rule. You can select one of the current filter lists or click
Add to install a new filter list. Click Next.
9. Select a filter action for the rule. Select one of the current filter actions or click Add to
install a new filter action. Click Next.
10. To edit rule properties before returning to the policy’s Properties dialog box, leave the
check box checked. Click Finish.
Active Directory Security
155
CHAPTER 5
11. If you elected to edit the rule properties in step 10, the new Rule Properties dialog box
appears. The tabs of the Rule Properties dialog box offer options similar to the Security
Rule Wizard options described in steps 4 through 10.
12. After you add the new rule, you return to the policy’s Properties dialog box. To add
another rule, click the Add button and repeat steps 4 through 11. To edit the properties of
a rule, select the rule and click the Edit button.
13. Select the General tab in the policy’s Properties dialog box to edit the name and descrip-
tion of the policy. On the General tab, you also can configure policy update settings and
key exchange settings.
14. Click Close to close the policy’s Properties dialog box.
Object-Oriented Security
Windows NT has always incorporated an object-oriented security approach in the form of NT
file system (NTFS). Let’s briefly review the fundamentals of object-oriented security.
When a user logs on, an access token is created. The access token contains security informa-
tion for the user’s account.
NOTE
A security principal (or account) can be a user, group, computer or service. Security
principals have accounts that can be assigned rights or privileges. Local accounts are
managed on the local computers Security Accounts Manager (SAM). Active Directory
manages domain accounts.
Accounts, or processes, use or manipulate resources known as objects, which can include files,
shares, printers, computers, and so on. Security for objects includes access lists to determine
what account or process can gain access. More on access control lists, and other object ori-
ented security features is seen later in the chapter.
ACTIVE
object, as well as the associated permissions. The Advanced button displays the account per-
missions in detail.
156
Windows 2000 stores the ACL as a binary value called a security descriptor. Each ACE con-
tains a security identifier (SID), which identifies the security principal (user, for example) to
which the ACE applies and the set of access rights that are allowed, denied, or audited for that
security principal (user).
NOTE
Because there is a good chance that groups will require similar access to objects,
applying ACEs to groups can reduce administrative effort in the future.
The Local Security Authority (LSA) creates the SID when the local account is created. The
domain security authority (DSA) generates the SID when a domain account is created, and the
SID is then stored as an attribute of the object in Active Directory.
NOTE
Although you can give permissions to individual users, giving them to a security
group is more efficient. That way, you can grant permission once to the group rather
than several times to each individual. Every user added to a security group receives
the permissions defined for that group.
When permission to perform an operation is not explicitly granted, it is implicitly denied. For
example, if Jennifer allows the Sales group, and only the Sales group, permission to read her
file, users who are not members of the Sales group are implicitly denied access. The operating
system does not allow users who are not members of the Sales group to read the file.
Permissions can also be explicitly denied. For example, Jennifer might not want Chris to be
able to read her file, even though he is a member of the Sales group. She can exclude Chris by
explicitly denying him permission to read the file. Explicit denials are best used when exclud-
ing a subset (such as Chris) from a larger group (such as Sales) that has been given permission
to do something.
Each permission that an object’s owner grants to a particular user or group is stored as an ACE
in a DACL that is part of the object’s security descriptor. In the user interface, ACEs appear as
Permission Entries in the Access Control Settings dialog box (see Figure 5.6).
5
DIRECTORY
SECURITY
ACTIVE
158
FIGURE 5.6
Access Control Entries for a local shared printer ACL.
Security Descriptor
An object’s security descriptor contains access control information, and identifies the object’s
owner by SID. If permissions are configured for an object, its security descriptor contains a
Discretionary Access Control List (DACL) with SIDs for the account allowed or denied access.
If auditing is configured for the object, its security descriptor also contains a System Access
Control List (SACL) that controls how the security subsystem audits attempts to access the
object.
For example, if a user attempts to modify the driver on a network printer, the operating system
examines the user’s security descriptor to determine whether he is allowed to perform the mod-
ification.
Generally, security descriptors can include information about the following:
• Owner—The only security principal with an inherent right to allow or deny permission
to access an object. Ownership can be transferred. By default, the built-in Administrators
group on a computer is assigned a user right that allows this group to take ownership.
• Permission—Authority to perform an operation or a set of operations on an object, which
is granted or denied by an object’s owner. Because access to an object is given at the
owner’s discretion, the type of access control used in Windows 2000 is called discre-
tionary access control.
Active Directory Security
159
CHAPTER 5
• User right—Authority to perform an operation that affects an entire computer rather than
a particular object. User rights (also known as privileges) are assigned by administrators
to individual users or groups as part of the security settings for the computer. Although
user rights can be managed centrally through Group Policy, they are applied locally.
• Access right—A permission from a subject’s point of view. When a user allows or denies
permission through the Access Control Settings dialog box, the result is recorded as an
ACE in the object’s DACL. Although a permission is represented by a word or phrase in
the user interface, in an ACE, it is represented by a set of bit flags in an access mask.
Each bit flag corresponds to an access right.
ACTIVE
ACEs to check. If it comes to the end of the DACL and the thread’s desired access is still not
explicitly allowed or denied, the security subsystem denies access to the object. Figure 5.7
illustrates this process.
160
Subject Object
ACE
ACE
FIGURE 5.7
Validating a request for access.
The order in which ACEs are listed in a DACL is important. For example, an object’s DACL
might contain one ACE that allows access to a group and another ACE that denies access to a
user who is a member of the group. If the allowing ACE precedes the denying ACE, then the
user is allowed to access the object, which is not a desirable situation.
• Printer
• Shared folder
The objects in the Active Directory are protected by ACLs. If a user is not permitted to view an
object, he will not be able to see that object in Active Directory.
In Active Directory, an object can have standard permissions or special permissions assigned to
it. While most objects will have both, standard permissions are more common and will suit
most access requirements.
The standard object permissions are
• Full Control, which allows change permission and the ability to take ownership.
• Read, which allows the ability to view objects and their attributes, the owner, and Active
Directory permissions.
• Write, which allows the ability to modify the object attributes.
• Create All Child Objects, which allows the ability to create any type of child object in
the OU.
• Delete All Child Objects, which allows the ability to delete any type of object in the OU.
Assigning Active Directory Permissions
You can set object permissions for an Active Directory object just as you would for an object
on an NT File System (NTFS). Before you can administer object security, you must make sure
the Advanced Features option is selected. To do this, open Active Directory Users and
Computers, and under the View menu, select Advanced Features. This makes the security
options available to administer.
To set object permissions, perform the following steps:
1. Right-click the desired object and click Properties.
2. In the Properties dialog bog, click the Security tab.
3. Select the account you wish to modify and check the appropriate permission (Allow or
Deny).
NOTE
You can also add accounts using the Add button, and then assign the appropriate 5
permissions to the object.
DIRECTORY
SECURITY
ACTIVE
While standard permissions will suffice for most administrative needs, special permissions can
be accessed by clicking the Advanced button in the Security tab.
162
CAUTION
Avoid assigning permissions for object properties, as this can significantly impact
functionality. By assigning a wrong or misinterpreted permission, you can hide the
object or make it inaccessible in Active Directory.
FIGURE 5.8
The Access Control Settings for the Sales Container.
If you own the Sales container object, you can allow access to certain types of objects without
allowing access to other types of child objects. For example, you can add a permission that
allows the Sales group write access, and then apply the permission to a particular type of child
object contained by the OU. This demonstrates how permissions propagated from container
objects in Active Directory can be object-specific in direct contrast to NTFS volumes, where
this form of permission propagation cannot occur.
Active Directory Security
163
CHAPTER 5
Active Directory permissions for objects can be managed at two levels: the object level and the
property level. Permissions allowed or denied at the object level apply to the entire object. For
example, you assign an object-level permission on the Sales container that allows the group
Sales Managers to create child objects in the Sales container.
Permissions allowed or denied at the property level apply only to specific properties. For
example, you can set a property-level permission on the Domain Users object that allows a
human resources representative to change various properties such the address or work number
of an employee.
To assign per-property permissions, perform the following steps:
1. Right-click the desired object and click Properties.
2. In the Properties dialog bog, click the Security tab.
3. Click the Advanced button.
4. Click View/Edit to modify an existing account permission, or click Add to create new
one. (If you click Add, you must select the account, such as the Human Resources group,
that will be assigned the permission.)
5. In the Permission Entry window, click the Properties tab to view the per-property per-
missions list.
Not all object properties are listed in the Properties tab. Only properties commonly used for
controlling access are listed. The schema contains and defines all the object types and proper-
ties (see Chapter 7, “Managing and Modifying Active Directory Schema,” for more informa-
tion). The user interface for access control filters out object types and properties to make the
list easier to manage.
The list of filtered object types and properties is kept in the file dssec.dat located in the
%systemroot%\System32 folder on every domain controller. You can modify the behavior of
the filter by adding or removing items from the list. dssec.dat is a text file in the following
format:
[objectType]
@ = 7
attributeName = 7
ting to 0. Filtered attribute names are listed below the object type.
SECURITY
ACTIVE
When you change dssec.dat, your changes are not reflected on the Properties tab until you
close the current tool or snap-in and restart it. Filter data is read when the tool is initialized.
164
FIGURE 5.9
The dssec.dat file viewed in Notepad.
NOTE
To change permissions, you must be the owner or have been granted permission to
do so by the owner.
Groups or users granted Full Control for a folder can delete files and subfolders within that
folder, regardless of the permissions protecting the files and subfolders. If the check boxes
under Permissions are shaded or if the Remove button is unavailable, the file or folder has
inherited permissions from the parent folder.
To set, view, or remove permissions for a shared folder or drive, perform the following steps:
1. Right-click the shared folder or drive on which you want to modify permissions, and 5
click Sharing.
2. On the Sharing tab, click Permissions.
DIRECTORY
SECURITY
ACTIVE
166
3. To set shared folder permissions, click Add. Type the name of the group or user you want
to set permissions for and then click OK to close the dialog box.
To remove permissions, select the group or user in the Name list and then click Remove.
4. In the Permission list, click Allow or Deny for each permission, if necessary.
To share folders and drives, you must be logged on as a member of the Administrators, Server
Operators, or Power Users.
Shared folder permissions apply to all files and subfolders in the shared folder and are effective
only when the folders or files are accessed over a network. Shared folder permissions do not
protect folders or files when opened locally. NTFS permissions are required to protect files and
folders on your local computer. NTFS permissions are applied in addition to shared folder per-
missions.
You can use the Shared Folders snap-in to create and manage shared folders, and to view con-
nected users to shared folders and files. You can also change permissions for shared folders on
remote computers.
NOTE
For administrators interested in managing shares with NT 4.0 tools, you can still uti-
lize the Server Manager tool by entering usrmgr.exe in the Start, Run window or at a
command prompt on your domain controller.
Publishing Printers
Printers are another resource that can be published in Active Directory. To publish a Windows
NT printer, perform the following steps:
1. Open Active Directory Users and Computers.
2. In the console tree, expand the domain node if necessary.
3. Right-click the container where you want to publish the printer, select New, and then
click Printer.
4. In the New Object-Printer box, enter the UNC name that you want to publish in the
directory, and then click OK.
Active Directory Security
167
CHAPTER 5
NOTE
All Windows 2000 printers are published in Active Directory by default. You can dis-
able this process by selecting Do not share this printer in the wizard’s Printer Sharing
screen. Windows NT printers require installation before being published in Active
Directory.
Publishing Guidelines
When considering publishing resources in Active Directory, consider whether or not the
resource is useful to a wide audience of users. By publishing an uncommon resource, such as
an engineering plotter, you may be wasting network resources since the plotter may not be use-
ful to anyone but the local engineering group.
You should also ensure that the object would remain relatively static, and not change very
often. Attribute changes are replicated throughout Active Directory, so the more frequent the
modification, the more impact on Active Directory replication.
NOTE
To change the owner of all subcontainers and objects within a tree, select the Replace
Owner on Subcontainers and Objects check box. 5
DIRECTORY
SECURITY
ACTIVE
When an administrator takes ownership of a file or folder, the Administrators group then owns
the file. Any member of this group can grant access to the file or folder on the computer. The
administrator can then grant access to herself or to another user. The owner or administrator
168
cannot transfer ownership to others. She can only grant the Take Ownership attribute. This
restriction maintains accountability on behalf of the administrator.
As I mentioned earlier, delegation applies to approved users or groups that do not have admin-
istrative privileges. To delegate control to a child domain or organizational unit, perform the
following steps:
1. Open Active Directory Users and Computers.
2. In the console tree, expand the domain object to display the child domains or organiza-
tional units.
3. Right-click the child domain or organizational unit for delegated administration, and
click Delegate Control.
4. Follow the instructions in the Delegation of Control Wizard.
Permission Inheritance
Permission inheritance allows the administrator or owner of an Active Directory object to mini-
mize the granular assignment of permissions for that object. With permission inheritance, you
can allow a permission to propagate to child objects that are created under the parent object.
For example, you can assign Full Control permission to the Sales Managers group for the Sales
Reports folders, and assign permission inheritance to the folder. Any subfolders and files will
inherit the permissions, and any member of the Sales Managers group will have full control.
To assign permission inheritance, in the Permissions window, under the Object tab, select the
desired inheritance in the Apply onto pull-down menu.
To prevent permission inheritance on a child object, clear the Allow Inheritable Permissions
From Parent to Propagate To This Object check box.
Summary
This chapter addressed the new security features in Active Directory, including Kerberos
authentication and IPSec network security. Although NTFS permissions still apply to Windows
2000 objects, you can delegate authority to approved users who are not members of an admin-
istrative group. This eases administrator responsibility and allows for local “control” of
resources. Publishing resources is another security benefit of Active Directory, allowing users
to more conveniently browse the OU, domain, or even entire directory for resources in the
enterprise.
5
DIRECTORY
SECURITY
ACTIVE
Administering Group Policy CHAPTER
6
IN THIS CHAPTER
• Group Policy Fundamentals 172
The System Policy Editor that was introduced in Windows NT 4.0 evolved into Group Policy
in Windows 2000. The term “Group Policy” is derived from grouping multiple policies
together in one policy. Group Policy MMC snap-in is new to Active Directory. The snap-in is
a flexible tool that extends the functionality of the System Policy Editor and allows you to con-
figure multiple user and computer settings. Group Policy can be enforced or blocked at the
site, domain, and organizational unit level, as you’ll learn later in this chapter.
The following sections provide a closer look at group policy.
NOTE
In particular, Group Policy does not affect security groups. The location of a security
group in Active Directory is irrelevant to Group Policy.
Security groups are used to filter Group Policy. Filtering is changing the scope. You do so by
changing the Apply Group Policy and the Read permissions on the Group Policy object for the
relevant security groups. You’ll learn about Group Policy objects in the Group Policy Objects
section, and filtering in the Configuring Group Policy section.
NOTE 6
ADMINISTERING
GROUP POLICY
Default policy settings in Group Policy do not remain in the registry permanently as
they did in NT 4.0. Microsoft referred to this as registry “tattooing.” Windows 2000
Group Policy settings are removed when they no longer apply.
Group Policy affects all Windows 2000 computers and users located in the site, domain, or OU
that are linked to the Group Policy objects. Group Policy can be filtered, based on an accounts
security group membership. Filtering is covered in the “Filtering and Delegating Group Policy
with Security Groups” section later in the chapter.
Windows 9x and NT machines cannot interpret a Windows 2000 container. They can only rec-
ognize their existence in a domain.
CAUTION
Although Windows 9x and NT 4.0 clients and computers can be supported by using
Windows NT 4.0 templates and the System Policy Editor, it is not recommended to
support this in addition to Windows 2000 Group Policy. Also, due to possible registry
tattooing mentioned earlier, problems may results when upgrading from earlier
clients exposed to NT 4.0 policies.
NOTE
Only Domain Administrators, Enterprise Administrators, Group Policy Creator Owners,
and the operating system can create new Group Policy Objects by default.
A non-administrative user or group can be added to the Group Policy Creator Owners security
group. When a member of that group creates a Group Policy Object (GPO), he or she becomes
the Creator Owner of the GPO, and can edit the GPO.
174
As a member of the Group Policy Creator Owners group, you have full control of only GPOs
that you created or that were delegated to you.
NOTE
It is important to note that without GPOs, a user’s location in the OU hierarchy does
not impact logon times. The number of GPOs that must be read and applied to the
user or computer creates logon delays.
In Figure 6.1, users logging in to the root domain (kevinkocis.com\users container) would have
comparable logon times to those in the sales management OU. Users such as Larry in the pro-
duction line OU would experience longer logon times because of the number of group policies
(three) that must be applied. So, it is not the “depth” of an account, but the number of policies
that are applied that affects logon speed.
Administering Group Policy
175
CHAPTER 6
6
Production
ADMINISTERING
Line
GROUP POLICY
Group
Policy
kevinkocis.com
Larry
Sales
Field
Sales Field
Group
Policy
John
Production Production
Line
Production Production
Group Line
Policy Group
Policy
FIGURE 6.1
Inheritance of group policies.
Group Policy settings from more than one GPO can be applied to a particular site, domain, or
organizational unit. A separate policy for each domain could determine specific security set-
tings for the domain’s computers. The ability to automatically configure and secure computers
throughout your organization by using selectively applied GPOs can be helpful as an adminis-
trative tool.
176
NOTE
You cannot open Group Policy Objects in read-only mode. Also, there is no exclusive
save mode for changes to Group Policy. Saving occurs during the actual editing
process.
Computers and users in Windows 2000 domains can belong to security groups, which can be
used to filter how Group Policy settings are applied to collections of users and computers
belonging to a particular site, domain, or organizational unit. Filtering and delegation of Group
Policy are discussed near the end of the chapter in the “Filtering and Delegating Group Policy
with Security Groups” section.
NOTE
Group Policy Objects fit into two categories: local and non-local. Only one Local
Group Policy Object is stored on each Windows 2000-based computer. Local policy is
least influential if the computer resides in an Active Directory environment. Non-Local
Group Policy Objects are Active Directory-based.
ADMINISTERING
GROUP POLICY
FIGURE 6.2
Creating a new domain Group Policy Object.
These new objects are linked to the domain or organizational unit by default. To create a
Group Policy Object with this method, you must have permission to create the Group Policy
Object, as well as permission to link it to the domain or organizational unit. Otherwise, the
New button on the Properties page for the domain or organizational unit is grayed out.
• Site Group Policy—Site Group Policy Objects are linked to site objects and can affect
any object across the entire forest because sites can span domains. Although linked to a
site, a Site Group Policy physically exists on a domain controller within a single domain.
• Domain Group Policy—Domain Group Policy Objects are linked to a single domain and
affect all user and computer objects within the domain and its subcontainers.
• Organizational Unit (OU) Group Policy—OU Group Policy Objects are linked to a spe-
cific OU. The OU Group Policy affects all objects within the OU and within any OUs
nested below it in the hierarchy.
NOTE
Group policies override any local user profile settings, so if a default screen saver is
set in Computer Configuration, any users who customize their screen saver will
inherit the default set in the GPO.
The order of policy application begins with legacy NT4 system policies, if they exist (and they
are not recommended to coexist with Windows 2000 Group Policy!). Otherwise, the order is as
follows:
• Local Group Policy Object
• Site Group Policy Object
• Domain Group Policy Objects
• OU Group Policy Objects from the parent OUs down to the user’s or computer’s OU
location
The order of application detailed in the preceding list is significant to the architecture of Active
Directory because, by default, a policy applied later overwrites a policy applied earlier for each
setting where the later applied policy is either Enabled or Disabled.
You also can force or prevent GPOs from affecting groups of users or computers. The most
powerful settings for avoiding the default behavior are the No Override and Block Policy
Inheritance settings. It is best to minimize the use of these settings. These concepts will be
addressed later in the chapter.
Administering Group Policy
179
CHAPTER 6
Local GPOs 6
A Local Group Policy Object exists on every computer, and by default only nodes under
ADMINISTERING
GROUP POLICY
Security Settings are configured. Settings in other parts of the Local Group Policy Object’s
namespace are not enabled or disabled. The Local Group Policy Object is stored in
%systemroot%\System32\GroupPolicy, and it has the following permissions set through
Discretionary Access Control Lists (DACLs):
• Administrators: full control
• Operating system: full control
• User: read
NOTE
If Read permission is withdrawn from the Local Administrator group, Group Policy
does not apply. Withdrawing this permission is a convenient way to exempt Local
Administrators from a GPO even though they have the Apply Group Policy permis-
sions set to Allow.
Site GPOs
Site GPOs are processed after Local GPOs. Any GPOs that are linked to the site are processed
synchronously, per the administrator’s set order (in the case of multiple linked GPOs). The site
GPOs apply to any user or computer in the site, regardless of the domain. Site GPOs override
any Local GPO.
Domain GPOs
Domain GPOs are processed after Site GPOs and override any Local or Site GPOs. Domain
GPOs are also processed synchronously, per the administrator’s prescribed order. These GPOs
apply to the domain, including all the subcontainers.
FIGURE 6.3
Domain-level group policy.
The next level of the namespace has two nodes: Computer Configuration and User
Configuration. They are the parent folders used to configure and enforce Group Policy on
computers and users.
Computer Policy
The Computer Configuration policies can change Registry settings within HKEY_LOCAL_
MACHINE. The settings in the Computer Configuration policies are applied to a computer
Administering Group Policy
181
CHAPTER 6
regardless of the logged on user. Aside from assigning interface preferences, group policies can 6
apply logon, logoff, startup, and shutdown scripts; distribute software; change security settings;
ADMINISTERING
GROUP POLICY
and redirect system folder locations such as My Documents.
The Computer Configuration settings specify operating system behavior, which include desk-
top and security settings, as well as startup and shutdown scripts. Because the Computer
Configuration settings are applied to a computer, this policy is best applied to computers that
require being locked down to protect local data or prevent misuse of applications.
The Computer Configuration portion of group policies includes a abundance of security set-
tings, as shown in Figure 6.4, that are applied to individual computers.
FIGURE 6.4
Computer Configuration group policy in the default domain policy.
NOTE
Computer policy takes precedence over conflicting user policy.
User Policy
The User Configuration settings are similar to the Computer Configuration settings. User
Configuration policies can change Registry settings within HKEY_CURRENT_USER. The
User Configuration policies are applied to any computer that a user logs on to and will follow
182
a user around the enterprise. Many of these settings are similar in content to the Computer
Configuration set, but this interface has many more settings in the User Configuration set, as
shown in Figure 6.5.
FIGURE 6.5
User Configuration group policy in the default domain policy.
User Configuration settings enable the same interface to appear wherever a user logs on, which
is preferred for roving users (such as in a lab setting).
Scripts (which have different settings for users than those for computers) show why a setting is
placed under the Computer Configuration as opposed to the User Configuration. Computer set-
tings include startup and shutdown scripts, which run automatically for a computer regardless
of any logged on users. User settings include logon and logoff scripts that occur only when a
user logs on the network and Group Policy is applied.
ADMINISTERING
GROUP POLICY
create the Administrative Templates namespace by adding .adm files. You do so by right-
clicking either of the Administrative Templates nodes and then clicking Add/Remove
Templates.
Administrative Templates
Administrative templates include Registry-based Group Policy, which you use to enforce
Registry settings that administer the behavior and appearance of the client desktop, including
the operating system components and applications. More than 450 of these settings are avail-
able for configuration, and you can add more by using .adm files. In Windows 2000, the
Administrative Templates node of the Group Policy snap-in uses an administrative template
(.adm) file to specify the Registry settings you can modify through the Group Policy snap-in
user interface.
To avoid Registry tattooing discussed earlier, you should place any additional Registry settings
in \Software\Policies or \Software\Microsoft\Windows\CurrentVersion\Policies.
Figure 6.6 shows some Administrative Template Group Policy settings. The Policy pane lists
some policy settings that make up the User Configuration part of the Default Domain Policy of
the Group Policy Object.
FIGURE 6.6
Administrative Template Group Policy settings.
184
The Administrative Templates nodes of the Group Policy snap-in present Registry-based Group
Policy settings that are written to the HKEY_CURRENT_USER or HKEY_LOCAL_
MACHINE portion of the Registry database, as appropriate.
The .adm file in Windows 2000 is a Unicode text file that specifies a category hierarchy that
defines how the options are displayed through the Group Policy interface. Unicode support for
.adm files is new in Windows 2000. The .adm file also specifies the Registry locations where
you need to make changes if a particular selection is made.
The Administrative Templates nodes of the Group Policy snap-in can be extended by using
custom .adm files.
The following are some of the common templates included in Windows 2000:
• System.adm—Includes common configuration options and settings for Windows 2000
clients
• Common.adm—Includes settings common to Windows 9x and NT4 computers
• Inetres.adm—Contains policy options for configuring Internet Explorer for Windows
2000 clients
• Windows.adm—Contains settings for Windows 9x computers
• Winnt.adm—Contains settings for Windows NT clients
Security Settings
You use the Security Settings extension to set security options for computers and users within
the scope of a GPO. You can define local computer, domain, and network security settings.
The Security Settings extension of the Group Policy snap-in complements existing system
security tools such as the Security tab on the Properties page (of an object), and Local Users
and Groups in Computer Management.
You can configure these security areas for computers in the Security Settings extension:
• Account Policies—computer security settings for password policy, lockout policy, and
Kerberos policy in Windows 2000 domains. Set only at the domain level.
• Local Policies—security settings for audit policy, user rights assignment, and security
options.
• Event Log—controls settings for viewing logs in Event Viewer.
• Restricted Groups—manages control and membership of security-sensitive groups, such
as Human Resources.
• System Services—controls startup mode and access permissions for system services.
• Registry—configures security settings for Registry keys, including access control, audit,
and ownership.
Administering Group Policy
185
CHAPTER 6
• Files System—configures security settings for file system objects, including access con- 6
trol, audit, and ownership.
ADMINISTERING
GROUP POLICY
• Public Key Policies—configures PKI security settings, including settings for certificate
services and trusts.
• IPSec Security Policies on Active Directory—configures security settings for Active
Directory’s IPSec.
To view or edit the security settings for a GPO, perform the following steps:
1. In the Group Policy console, double-click the appropriate GPO.
2. Expand the Computer Configuration, Windows Settings, then Security Settings contain-
ers if necessary.
3. Double-click a security policy node (for example, Account Policies), and select a secu-
rity area (for example, Password Policy).
4. Double-click the security attribute you wish to view or edit, make the appropriate
change, and click OK.
Software Installation
You use the Software Installation snap-in to centrally manage software in your organization.
You can assign and publish software to users, and assign (but not publish) software to comput-
ers. Only Windows 2000 clients with the client-side extension for Software Installation (app-
mgmts.dll) can take advantage of software installation.
NOTE
You cannot assign software to a domain controller in Active Directory.
You can only deploy software using Software Installation if the file is one of the following:
• Windows Installer package (.msi)—a native installation package that optimally utilizes
Windows Installer.
• Modified Windows Installer package (.mst)—a modified or customized version of an
application. Modifications are also considered to be transforms, thus the .mst name.
• An application setup file (.zap)—a basic setup file which uses the setup.exe program to
install software.
186
NOTE
You should consider setting up a software distribution point on a domain controller.
This will alleviate excessive browsing for software installation files, and provide cen-
tralization. You can use the \\server\share path.
Assigning Applications
When an application is assigned to a user, an advertisement is given when he or she logs on to
the computer. When the user selects the application from the Start menu, or launches a docu-
ment associated with the application, the application is then installed.
To assign an application, perform the following steps:
1. In the Group Policy console, double-click the appropriate GPO.
2. Expand the Computer or User Configuration (depending on which is applicable),
Software Settings, then Software Installation.
3. Right-click in the details pane, click New, and then click Package.
4. In the Open dialog box, click the appropriate Windows Installer package (or Browse if
necessary), and click Open.
5. In the Deploy Software dialog box, click Assigned, then click OK.
When you assign software to a computer, the installation process typically occurs when the
computer starts up to avoid any competing processes.
Publishing Applications
Published applications are not as obvious as assigned applications. Instead, attributes such as
the application’s name and file associations are stored in Active Directory. The application can
then be installed by using the Add/Remove Programs utility in Control Panel, or by launching
a file associated with the software (such as a .doc file for Microsoft Word).
To publish an application, perform the following steps:
1. In the Group Policy console, double-click the appropriate GPO.
2. Expand the Computer or User Configuration (depending on which is applicable),
Software Settings, then Software Installation.
3. Right-click in the details pane, click New, and then click Package.
4. In the Open dialog box, click the appropriate Windows Installer package (or Browse if
necessary), and click Open.
5. In the Deploy Software dialog box, click Published, then click OK.
Administering Group Policy
187
CHAPTER 6
Published applications are available for installation either by using Add/Remove Programs in 6
Control Panel, or by opening a file with a file name extension that you have associated with
ADMINISTERING
GROUP POLICY
the application.
NOTE
Packages can only be published to users. They cannot be published to computers.
6. Select whether you want to uninstall the existing package first, or if you want to upgrade
over the existing package, and click the proper button.
7. If you want to make the upgrade mandatory, enable the Required upgrade for existing
packages check box, then click OK.
To remove a installed application, perform the following steps:
1. In the Group Policy console, double-click the appropriate GPO.
2. Expand the Computer or User Configuration (depending on which is applicable),
Software Settings, then Software Installation.
3. Right-click on the application you wish to remove in the details pane, click All Tasks,
and then click Remove.
4. In the Remove Software box, select to either immediately uninstall or to leave the appli-
cation installed but disallow new installations, and then click OK.
To set permissions for software installation, perform the following steps:
1. Right-click the desired GPO.
2. Click Properties, and then select the Security tab.
3. Click the security group on which you want to set permissions.
4. If the security group has administrative powers, set Full Control to Allow. If the group
represents users, set both Apply Group Policy and Read to Allow.
5. In the GPO property window, click OK.
Removing and modifying software installation in Group Policy allows you to conveniently
recover from an erroneous install by allowing you to configure optional and mandatory
upgrades or removals.
Scripts
You can use scripts to automate computer startup and shutdown and user logon and logoff ses-
sions. You can use any Windows Script Host-supported language, including VBScript,
JavaScript, Perl, and DOS batch files (.bat and .cmd).
Windows 2000 includes Windows Script Host (WSH), a language-independent scripting host
for 32-bit Windows platforms. WSH has low memory requirements and serves as a controller
of ActiveX scripting engines. With WSH, you can run scripts directly in Windows 2000 by
double-clicking a script file or by typing the name of a script file at the command prompt.
Administering Group Policy
189
CHAPTER 6
ADMINISTERING
GROUP POLICY
• Group Policy Logon scripts
• Group Policy Logoff scripts
• Group Policy Startup scripts
• Group Policy Shutdown scripts
To set up scripts on the domain controller, copy the script and any dependent files to the
Netlogon share (or share of your choice) of the domain controller from which you want the
script to run.
To assign computer startup or shutdown scripts, perform the following steps:
1. Open the Group Policy snap-in.
2. Select the GPO and open Computer Configuration, Windows Settings, Scripts
(Startup/Shutdown).
3. In the details pane, double-click the Startup or Shutdown icon.
4. In the Startup or Shutdown properties page, click Add.
5. In the Add a Script dialog box, select the options you want to use, and then click OK.
6. In the Startup or Shutdown properties page, select any options you want to use, and then
click OK.
NOTE
Startup and Shutdown scripts are run as Local System.
NOTE
Logon scripts are run as User, not Administrator.
NOTE
RIS currently does not support the Encrypting File System (EFS) or the distributed file
system (Dfs).
Administering Group Policy
191
CHAPTER 6
ADMINISTERING
GROUP POLICY
2. In the console tree, open the desired domain or container and right-click the applicable
remote installation server.
3. Click Properties, and then in the Properties dialog box, click the Remote Install tab.
4. In the Remote Install dialog box, select one of the following options:
• Respond to client computers requesting service
• Do not respond to unknown client computers
To configure Remote Installation Services advanced settings, perform the following steps:
1. Open Active Directory Users and Computers.
2. In the console tree, open the desired domain or container and right-click the applicable
remote installation server.
3. Click Properties, select the Remote Install tab, and then click Advanced Settings.
4. In the Advanced Settings dialog box, select the New Clients tab.
5. Click the client computer naming format or click Customize to create a client computer
naming format.
6. Click one of the following options to determine where the client computer account is
created:
• Default directory service location
• Same location as that of the user setting up the client computer
• The following directory service location
7. If you chose the last option, click Browse and specify where to create the computer
accounts.
NOTE
If there are multiple remote installation servers on your network, each one must be
configured to identically respond to client computers.
3. Click Properties, select the Remote Install tab, and then click Advanced Settings.
4. Select the Images tab, and then click the installation image or unattended setup answer
file.
5. Select one of the following options:
• Add
• Remove
• Properties
• Refresh
NOTE
For most Internet Explorer templates, clicking Enabled sets a restriction, and clicking
Disabled prevents the restriction from applying to that group of users or computers.
If you select Not Configured, the restriction is not applied.
Folder Redirection
Folder redirection allows you to redirect the path of a local computer folder to a server loca-
tion. This strategy allows users to work with individual or shared documents on a secure server
as if the folders were on the local drive. Windows 2000 special folders include My Documents
(which includes My Pictures), Application Data, Desktop, and Start Menu. These folders are a
common location for users to store data, and are located in the Documents and Settings user
profile folder on the local computer.
Administering Group Policy
193
CHAPTER 6
NOTE 6
ADMINISTERING
GROUP POLICY
You should not use folder redirection if the portable computer is not connected to
the network very often, or is usually remotely connected (such as for sales people or
field engineers). Folder redirection is best suited for non-portable computers or
portable computers that move between locations on a high-speed network.
To redirect special folders to one location for everyone in the site, domain, or organizational
unit, perform the following steps:
1. Open the GPO linked to the site, domain, or organizational unit containing the users
whose special folders you want configured for folder redirection.
2. In the console tree, open User Configuration, Folder Redirection.
3. Right-click the special folder for redirection (such as My Documents), and click
Properties.
4. In the Target tab, click on the Setting drop-down menu, select Basic (for the same loca-
tion), enter the network path (UNC path) or click Browse, and browse to the desired
location. Click OK.
If you want each user to maintain a subfolder at this location, use %username% into the
UNC path, such as \\Dc2\My Computer files\%username%.
5. In the Settings tab, you can set various options, although the defaults are recommended.
Click OK.
To redirect special folders to different locations according to security group membership, per-
form the following steps:
1. Open the GPO linked to the site, domain, or organizational unit containing the users
whose special folders you want configured for folder redirection.
2. In the console tree, open User Configuration, Folder Redirection.
3. Right-click the special folder for redirection (such as My Documents), and click
Properties.
4. In the Target tab, click on the Setting drop-down menu, select Advanced, then click Add.
5. Enter or browse for the desired security group and target folder location (use the same
naming standards mentioned in the previous redirection example), then click OK. (You
can repeat these steps as necessary to add all the appropriate security groups.)
6. In the Settings tab, you can set various options, although the defaults are recommended.
Click OK.
194
NOTE
Windows 2000 allows only one domain account policy that is applied to the root
domain of the domain tree. However, you can apply account policies to OUs that con-
tain computers. If an OU only contains users, it can obtain account policies from the
domain account policy.
Linking GPOs
As you learned earlier, a GPO can be applied at the site, domain, and OU levels. This is
accomplished by linking the GPO to a container or to multiple container objects.
To link a GPO with an organizational unit, perform the following steps:
1. Open the Active Directory Users and Computers tool.
2. Locate the OU for linking, right-click it, and select Properties.
3. Select the Group Policy tab and click Add.
4. In the drop-down list, select the name of the local domain.
5. Select the desired group policy (in Figure 6.7, the Sales Field group policy is selected)
and click OK.
6. To save the GPO link, click OK.
Administering Group Policy
195
CHAPTER 6
ADMINISTERING
GROUP POLICY
FIGURE 6.7
Linking the Sales Field policy to the Sales Field OU.
If you want to see what a Group Policy Object is linked to, open it in the Group Policy con-
sole, right-click the root node, click Properties, and then click the Links tab. Click Find Now
after setting the domain on the drop-down list.
Inheritance
By default, Group Policy Object settings flow from parent to child containers, and include all
settings for computer and user objects in each container. Inheritance can be combined with del-
egation to grant administrative rights to directory subtrees.
FIGURE 6.8
Blocking policy inheritance in the Group Policy tab.
NOTE
The Block Policy Inheritance policy setting is not available for sites.
FIGURE 6.9
Forcing a policy.
Administering Group Policy
197
CHAPTER 6
ADMINISTERING
GROUP POLICY
not override that specific policy. In this situation, GPOs linked at the same level, but not as No
Override, are also prevented from overriding. If you have several links set to No Override at
the same level of Active Directory, you need to prioritize them. Links higher in the list have
priority on all Configured (Enabled or Disabled) settings.
If GPO is linked to a domain and is set to No Override, the configured Group Policy settings
will apply to all containers in that domain.
NOTE
GPOs linked to organizational units and set with the No Override option cannot over-
ride a domain-linked GPO.
The following are some comparisons and facts regarding No Override and Block Policy:
• No Override is set on a link, not on a site, domain, organizational unit, or GPO.
• Block Policy Inheritance is set on a domain or organizational unit and applies to all
GPOs linked at that level or higher in Active Directory which can be overridden.
• No Override takes precedence over Block Policy Inheritance if conflicts occur.
For performance reasons, both No Override and Block Policy should be used sparingly.
NOTE
When linking a GPO, anyone assigned the task of creating a GPO must have permis-
sion not only to create it but also to link it to the domain or organizational unit, oth-
erwise they will be restricted from creating a new GPO.
To delegate administrative right to create GPO links, perform the following steps:
1. Open Active Directory Users and Computers.
2. Expand the local domain in the console pane and right-click the domain.
3. Select Delegate Control.
4. Click Next to start the Delegation of Control Wizard.
5. On the Users and Groups page, click Add.
6. Select the users, group, or computer account you want to delegate administration to.
7. On the Tasks to Delegate window (see Figure 6.10), select the Manage Group Policy
links check box, and click Next.
8. Click Finish to complete the delegation process.
FIGURE 6.10
Delegation of group policies.
Administering Group Policy
199
CHAPTER 6
ADMINISTERING
GROUP POLICY
It is best not to use System Policy on Windows 2000 clients. You can uncheck Show Policies
Only so that true Group Policy settings appear in blue, and System Policy settings appear in
red. The next time you run the Group Policy snap-in, non-Group Policy settings will be hidden
again.
NOTE
The best option is to perform a clean installation of Windows 2000 as opposed to
upgrading to avoid any legacy or tattooed Registry settings.
By default, the Default Domain Policy Group Policy Object cannot be deleted by any adminis-
trator, which prevents the accidental deletion of this critical GPO.
200
A user or administrator who does not have Write access (but does have Read access) to a GPO
cannot use the Group Policy snap-in to view its settings. Every extension to Group Policy
assumes that it has Write access to where the GPO is located.
NOTE 6
ADMINISTERING
GROUP POLICY
Group Policy is backed up with Active Directory.
NOTE
For performance reasons, you should avoid linking to a GPO in a different domain.
202
Summary
This chapter addressed how system policies introduced in Windows NT 4.0 evolved into group
policies in Windows 2000. Using the new Group Policy MMC snap-in, you can configure
Group Policy Objects and delegate to local administrators. This chapter also looked at how
policies could be enforced or blocked and how mixed environments could affect policy
assignment.
Managing and Modifying CHAPTER
7
Active Directory Schema
IN THIS CHAPTER
• Active Directory Schema Fundamentals 204
Managing the Active Directory schema is a topic that could fill an entire book. I will not
attempt to write that book in this chapter but instead will provide some strong administration
fundamentals (combined with some tools found in the glossary) and some light scripting
details. Again, one could write a book on scripting Active Directory. Let’s take a look at how to
modify, manage, and understand the impacts of changing the Active Directory schema.
NOTE
Active Directory contains a default set of classes and attributes that you cannot mod-
ify. However, additional classes and attributes can be added. This is called extending
the schema.
NOTE
You cannot add new syntaxes to the Active Directory schema.
Managing and Modifying Active Directory Schema
205
CHAPTER 7
For example, a vehicle object can belong to the class of airplanes, the class of motorcycles, or
the class of cars, and so on. A motorcycle can be described by its make, model, and color.
These would be the attributes of the motorcycles. The possible values for the color of the car
might be black or blue, and the syntax for black might be represented by a value such as
C0M0Y0K100 (if you’re familiar with printing colors) that indicates a specific color combina-
tion.
The schema specifies the relationships between classes of objects. For example, let’s say the
schema contains a class called User, and the user accounts of John and Chris are objects in the
directory that are instances of this class. The object Chris might contain an optional attribute 7
defined for this class called homePhone. This attribute for the object Chris of the class User
MANAGING AND
might have the value 555-5500.
MODIFYING
SCHEMA
The attribute homePhone can be defined to take values of the syntax String(numeric), which
means that the value can contain only the numbers 0 through 9.
The schema itself is represented in Active Directory by a set of objects known as schema
objects. For each schema class, there is a schema object that defines the class, which is called a
classSchema object. For each schema attribute, there is also a schema object that defines the
attribute, which is called an attributeSchema object. Therefore, every class is actually an
instance of the classSchema class, and every attribute is an instance of the attributeSchema
class. Figure 7.1 shows the classSchema Properties window in Active Directory.
FIGURE 7.1
The classSchema Properties window in Active Directory Schema.
206
Administrators and applications can extend the schema by adding new attributes and classes or
by modifying existing ones. Schema definitions are required by applications that need to create
or modify Active Directory objects. Such applications are considered to be “directory-enabled,”
meaning they recognize the attributes and syntaxes required to interact with the directory.
For more information about the distinguished name and naming in general, see Chapter 3,
“Managing Domains, Trusts, and DNS.”
You can view the contents of the Schema container by using the Active Directory Schema
MMC console. You also can bind to the schema directory partition and view schema objects by
using the Active Directory Service Interfaces (ADSI) Edit MMC console or the Ldp tool.
Managing and Modifying Active Directory Schema
207
CHAPTER 7
NOTE
The ADSI Edit snap-in is not one of the default MMC snap-ins provided with Windows
2000 Server. To use ADSI Edit, you must install the Support Tools located in the
Support\Tools folder on the Windows 2000 Server CD.
MANAGING AND
MODIFYING
must load the Schema Manager manually into MMC.
SCHEMA
To start the Active Directory Schema snap-in, perform the following steps:
1. Click Start, Run, and type regsvr32.schmmgmt.dll in the Open box. Click OK.
2. Click OK at successful operation window.
3. Click Start, Run, and type MMC in the Open box.
4. On the Console menu, click Add/Remove Snap-in, click Add, and then click Active
Directory Schema. Click Add, click Close, and then click OK.
5. You can save the MMC console containing the Schema snap-in. On the Console menu,
click Save As, and type a name for the saved console (for example, Schema.msc). Click
Save.
Some installation scripts and applications may require access to the schema. This raises the
issue of locating the schema. These scripts and applications may not be aware of which
domain they are to be used in but can still gain access to the schema. The applications bind to
a special entry at the top of the logical namespace called rootDSE, which provides the schema
location. The rootDSE logically represents the top of the namespace and the LDAP search tree.
The attributes of rootDSE identify the directory partitions, and allow applications to locate and
read the schema.
To identify the Schema directory partition by using ADSI Edit, perform the following steps:
1. Add the ADSI Edit snap-in console to MMC.
2. Right-click ADSI Edit and then click Connect to.
3. In the Connection Point check box, make sure that Naming Context is selected.
4. Select RootDSE from the drop-down list and then click OK (see Figure 7.2).
208
FIGURE 7.2
Selecting rootDSE in the ADSI Connection window.
FIGURE 7.3
Setting the schemaNamingContext in the rootDSE Properties window.
Managing and Modifying Active Directory Schema
209
CHAPTER 7
NOTE
In order to view the schema from a non-Windows 2000 server, you must install the
admin tools package, called adminpak.msi from the Windows 2000 Server CD.
Every Active Directory domain controller holds a copy of the schema as a file named Ntds.dit.
The location of the Ntds.dit file is set during the promotion process (dcpromo.exe) or during
the first Windows 2000 domain controller installation. The default location is 7
%SystemRoot%\Ntds.
MANAGING AND
MODIFYING
Another file, the Schema.ini initialization file contains data required to create the default direc-
SCHEMA
tory objects, the default security for the DIT, and the Active Directory display specifiers. The
Schema.ini file is located in the base version of Ntds.dit.
Attributes
Attributes are attributeSchema objects, and contain information in relation to the attribute,
including:
• The LDAP display name
• The object identifier (OID)
• The globally unique identifier (GUID)
• The syntax
• The attribute range, which is the minimum and maximum value or length
• Whether the attribute is single- or multi-value
• Indexing features, which allow the attribute to be searched or referenced more efficiently
To index an attribute in the Schema snap-in, right-click the attribute and select Properties.
Then click the check box Index this Attribute in Active Directory, as shown in Figure 7.4.
210
FIGURE 7.4
Configuring the addressType attribute for indexing in Active Directory.
Mandatory Attributes
Mandatory attributes are object attributes requiring values. If you do not specify a value for a
mandatory attribute, one of the following happens:
• The attribute inherits a default value.
• The object is not created (at least until you specify a value).
The object class determines which of the object’s attributes are mandatory. Some of these
mandatory attributes are inherited from parent classes.
Attribute Syntax
The syntax for an attribute defines the way it is stored and the rules for attribute comparison.
Syntax determines whether the attribute value must be a string, number, or unit of time. Every
attribute of every object is associated with exactly one syntax. The allowable syntaxes in
Active Directory are predefined, and no new syntaxes can be added.
Classes
The classSchema object defines the various class attributes including a list of mandatory
(mustContain) and optional (mayContain) attributes, as well as the hierarchical rules that deter-
mine DIT parent classes.
An object can have only attributes that belong to either the mustContain or the mayContain list
for the class. After an object has been created, the object’s class can never be changed.
The classSchema object dictates the rules for creating objects in an Active Directory class.
When a new object is created in a class, the classSchema object ensures it has the same attrib-
utes as all other objects in the class.
Managing and Modifying Active Directory Schema
211
CHAPTER 7
MANAGING AND
Object Class Categories
MODIFYING
SCHEMA
The X.500 1993 specification requires that object classes be assigned to one of four categories
or types:
• Structural— are the only classes allowed instances in the directory, and can be used in
defining the directory structure. Structural classes can include multiple auxiliary classes,
and are specified by a value of 1 in the objectClassCategory attribute.
• Abstract—are used to derive new structural classes. Abstract classes are not allowed to
have multiple instances, and can be derived from any existing abstract class. The only
function of abstract classes is to provide attributes for subordinate classes. They are spec-
ified by a value of 2 in the objectClassCategory attribute.
• Auxiliary—contain attribute lists that are appended to structural and abstract classes, and
are not allowed to have multiple instances in the directory. They can be derived from
existing auxiliary classes, and are specified by a value of 3 in the objectClassCategory
attribute.
• 88—are classes that were defined prior to the 1993 standards, and do not fall into the
three previous categories. This class is specified by a value of 0 in the
objectClassCategory attribute.
For example, the schema object named contact is a structural object type. By default, it has a
mandatory attribute (cn) and optional attribute (notes).
NOTE
When you define new schema classes, do not define new 88 classes. You need to use
one of the X.500 1993 categories (structural, abstract, or auxiliary).
212
Schema Modification
The Active Directory schema can be modified three ways. First, you can use the Schema snap-
in to modify classes and attributes. Second, you can design scripts to automate schema modifi-
cation. And third, you can install applications that add classes or attributes to the schema.
Modifying the schema is intimidating, since modifications cannot be deleted. They can, how-
ever, be deactivated. You can also modify the schema using Active Directory Services
Interfaces (ADSI), or the LDAP Data Interchange Format (LFDIFDE) tool.
You should consider modifying the schema when at least one of the following conditions
is met:
• No existing class meets your needs.
• A class requires more specific attributes.
• You require a set of unique attributes to apply to multiple classes.
• Existing classes or attributes are no longer needed.
If all the conditions are in place for schema modification, you can install the Active Directory
Schema MMC snap-in to manage the classSchema and attributeSchema objects. The schema
can be modified through the addition, deactivation, or modification to any objects or attributes
within it. Active Directory then runs a validation process to ensure that integrity is retained
throughout the database following the modification.
There are four basic steps you should take prior to modifying the schema:
1. Obtain an approved Object identifier for each new class or attribute you intend to create
(see the section Obtaining Valid Object Identifiers later in this chapter).
2. Verify membership in the Schema Admins group.
3. Install Schema Manager.
4. Configure Registry settings to allow modifications.
Modifying the schema is a major change, with implications throughout the directory. Because
many schema modifications cannot be reversed, you should modify the schema only when it is
absolutely necessary. Make sure changes are well planned before they are implemented.
Inconsistencies in the schema can result in significant problems that impair or disable Active
Directory, which may not be apparent immediately. The following are the modifications that
can be made to the schema:
• Creating classes
• Modifying existing classes
• Creating attributes 7
MANAGING AND
• Modifying existing attributes
MODIFYING
SCHEMA
• Deactivating classes and attributes
There are three ways to effectively add a new class:
• Extending an existing class by adding attributes or additional possible parents
• Deriving a new subclass from an existing class
• Creating an entirely new class with any attributes that you want to assign
You should derive a subclass from an existing class when the following conditions apply:
• The existing class meets your needs but requires additional attributes.
• You want to identify the extended class as distinct from the original class.
• You want to use the Active Directory Users and Computers console to manage the
extended attributes of the objects.
enable you to administer many objects (such as users, contacts, groups, servers, and printers) in
one operation. You can also export Active Directory data to other applications and services, as
well as import information from other sources into Active Directory using any of these tools.
You can also perform schema extension programmatically by using ADSI Edit and the Active
Directory Schema console. See the glossary for more explicit information regarding these
tools.
To allow a domain controller to modify the schema, use the Active Directory Schema console
in MMC on the selected server.
To enable schema modification, perform the following steps:
1. Open the Active Directory Schema console in MMC.
2. Right-click Active Directory Schema (Manager) and select Operations Master.
3. Select The Schema May Be Modified on This Domain Controller check box and then
click OK (see Figure 7.5).
The value of this check box is stored in the registry in the Schema Update Allowed entry (in
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters). Active
Directory adds this entry to the registry when you use the Active Directory Schema console to
change the default value.
FIGURE 7.5
Enabling schema modification at the local domain controller.
NOTE
Do not use a registry editor to edit the registry for schema extension, but only to
verify this modification.
Managing and Modifying Active Directory Schema
215
CHAPTER 7
MANAGING AND
MODIFYING
A list of NRAs can be found at the International Standards Organization’s Web site, at
SCHEMA
www.iso.ch.
OIDs are found in Open Systems Interconnection (OSI) applications, X.500 directories,
Simple Network Management Protocol (SNMP), and other applications where uniqueness is
important.
Object identifiers in the Active Directory base schema include some issued by the International
Standards Organization (ISO) for X.500 classes and attributes and some issued by Microsoft.
Object identifier notation is a dotted string of non-negative numbers (for example,
1.2.345.678901.2.3.4.).
NOTE
Membership in the Schema Admins group must be highly restricted to prevent unau-
thorized access to the schema because modifying the schema improperly can have
serious consequences.
One way to verify that an account is a member of the Schema Admins group is to use the
Active Directory Users and Computers console in MMC.
216
To verify that an account is a member of Schema Admins, perform the following steps:
1. Open Active Directory Users and Computers.
2. Expand the domain container, then the Users container.
3. Double-click the Schema Admins security group and then click the Members tab.
4. If the account is not listed under Members, click Add.
5. Select an account from the displayed list or type the name of the account.
6. Click Add and then click OK.
MANAGING AND
It is recommended that you try to use existing attributes wherever possible. If you need to cre-
MODIFYING
SCHEMA
ate a new attribute, follow Microsoft’s recommended guidelines:
• Use cn as the name (relative distinguished name) attribute, which is the default for most
classes. Because cn is an indexed attribute, it allows efficient object name searches.
• Avoid using large multi-value attributes since they are costly to store and retrieve.
• Remember that attributes are “flat,” which means they have no substructure. All attrib-
utes in a specific class must relate directly to instances of that class.
• Do not include spaces when entering the attribute and class names. An LDAP display
name with embedded spaces can cause problems.
• Object identifiers (OIDs) are issued by International Standards Authorities to prevent
duplication. If your organization expects to create new classes and attributes, you might
want to first request OIDs from the relevant standards body in your country.
To add a new attribute to the schema, you must create a new attribute object. First, follow the
preliminary steps described in “Order of Processing When Extending the Schema” earlier in
this chapter. Then do the following:
1. Choose a name for the attribute.
2. Obtain a valid object identifier from an issuing authority.
3. Determine the attribute syntax.
4. Decide whether the attribute needs to be a single-value or multi-value attribute.
5. Decide whether the attribute needs to be indexed or replicated to the Global Catalog.
For every attribute that you define, some attributes are mandatory, and some are optional; these
attributes are listed in Table 7.1 and Table 7.2.
218
Modifying an Attribute
To modify an attribute, modify the existing attribute-definition object that represents the class.
Some attributes are designated as system-only, and cannot be modified (even for new classes
that you created). System-only attributes have the systemOnly attribute set to TRUE.
Managing and Modifying Active Directory Schema
219
CHAPTER 7
MANAGING AND
MODIFYING
• objectClass
SCHEMA
• instanceType
Adding a Class
To add a new class, you add a new schema-definition object with all the desired attributes.
After you remove the Active Directory safety interlocks, make sure that you have done the fol-
lowing before you add a class:
1. Choose a name for the class.
2. Obtain a valid object identifier from an issuing authority.
3. Determine the object class category.
4. Determine the class from which this new class inherits information.
For every class, some attributes are mandatory, and some are optional, as shown in Table 7.3
and Table 7.4. If you do not define values for some of these attributes, they are given default
values.
For a new class, you must define cn, objectClass, and governsID. However, if you want to
make the new class actually useful, you should define some attributes in mustContain,
mayContain, and possSuperiors. Any attributes you specify when you add a new class must
already exist. You must add the new attributes to the schema before adding a new class with
new attributes.
When you add a new class, the object identifier specified in governsID must be unique, not
only in your enterprise but also globally.
Modifying a Class
To modify a class, modify the existing class-definition object that represents the class. Just as
with attribute modification, some class attributes are designated as system-only, and cannot be
modified (systemOnly attribute set to TRUE).
The following attributes of a class-definition object are system-only attributes, and cannot be
modified:
• governsID
• schemaIDGUID
• rDNAttID
• subClassOf
• systemMustContain
Managing and Modifying Active Directory Schema
221
CHAPTER 7
• systemMayContain
• systemPossSuperiors
• systemAuxiliaryClass
• objectClassCategory
• systemOnly
• objectClass
• instanceType
7
Verifying Schema Modifications
MANAGING AND
All changes made to Active Directory are validated first against the version of the schema held
MODIFYING
SCHEMA
in memory. This version is known as the schema cache. Updates to the schema cache are per-
formed automatically after the on-disk version has been updated.
There is also a mechanism for updating the schema cache on demand. You can use this when
you modify the schema. You can add the schemaUpdateNow attribute to the rootDSE with a
value of 1. The value is not used, but acts as an operational attribute. Writing this attribute
reloads the cache. You can also reload immediately by right-clicking the schema manager root
node and selecting Reload the Schema, as shown in Figure 7.6.
FIGURE 7.6
Reloading the schema manually.
222
The rootDSE is a DSA-specific entry that holds the attributes that pertain to the local domain
controller, such as directory partitions, server name, and supported LDAP version numbers.
The schemaUpdateNow attribute is defined as an operational attribute, and does not require
any storage. Generally, when you set an operational attribute, you trigger some action on the
server.
NOTE
You should only force an immediate schema cache update once and only after all
required schema updates are finished because cache loads have high memory impact.
Consistency Checks
For both class and attribute changes, the system makes sure that the values of
lDAPDisplayName and schemaIDGUID are unique and also that lDAPDisplayName is valid.
The class-schema object addition and modification extensions are successful only if the new
class definition passes all the necessary tests as well as the normal extension checks.
Safety Checks
Safety checks reduce the possibility of schema updates by one user or application breaking
another application when they share a schema definition.
Schema modifications are subject to certain restrictions enforced by Active Directory.
Managing and Modifying Active Directory Schema
223
CHAPTER 7
NOTE
However, you can only deactivate an attribute if it is not associated with an active
class. If the class is active, it must be deactivated in order to deactivate the attribute.
7
MANAGING AND
MODIFYING
You might want to delete schema classes or attributes that are not needed in your organization,
SCHEMA
but Active Directory does not support the actual deletion of schema objects, only deactivation.
When you deactivate a schema object, you make it unusable for most purposes, and you get
most of the benefits of deletion.
A deactivated or defunct schema object can be made active again—in the Active Directory
Schema console.
To reactivate a class or attribute by using the Active Directory Schema console, perform the
following steps:
1. Open the Active Directory Schema console.
2. Double-click the Classes folder or Attributes folder to display the schema classes or
attributes.
3. Right-click the class or attribute that you want and then click Properties.
4. Click the Deactivate this Class (Attribute) check box to clear it and then click OK.
To reactivate a class or attribute by using the ADSI Edit console, perform the following steps:
1. Open ADSI Edit.
2. Right-click ADSI Edit and then click Connect To.
3. In the Connection Point box, make sure that Naming Context is selected.
4. In the Naming Context box, select Schema and then click OK.
5. In the console tree, double-click My Connection.
6. Double-click the Schema folder to display a list of attributes and classes in the naviga-
tion pane. This might take a few moments.
7. Right-click the class or attribute that you want and then click Properties.
8. In the Select which properties to view box, select Optional and then select isDefunct in
the Select a Property to View box.
224
9. In the Test Attribute Properties dialog box (shown previously in Figure 4.4), type FALSE.
10. Click Set and then click OK.
Summary
The Active Directory schema is the underlying layout for the Active Directory database and is
comprised of objects and attributes. It also controls the structure and content that users can
view when browsing Active Directory. The only group that can access the schema is the
Schema Admins group. Changing or extending the schema is a significant alteration and
should be managed with a change management policy to avoid integrity issues and conflicts.
Managing Sites, Replication, CHAPTER
8
and Network Traffic
IN THIS CHAPTER
• Site Topology Fundamentals 226
The primary purpose of the Active Directory Sites and Services snap-in is to manage sites and
the appropriate replication between them. Active Directory manages network traffic around its
concept of sites.
IL SITE AZ SITE
kk.com
il.kk.com az.kk.com
FIGURE 8.1
A single domain appearing in multiple sites.
CAUTION
You should consider your physical structure when planning your logical structure even
though they are not directly related.
Managing Sites, Replication, and Network Traffic
227
CHAPTER 8
Sites
A site is an area of your network with high bandwidth connectivity and by definition is a col-
lection of well-connected IP subnets (10 Mbps or better). Because sites control how replication
occurs, changes made with the Sites and Services snap-in affect the communication efficiency
of DCs separated by longer distances within a domain.
A site represents the physical entity of the network, whereas domains represent the logical por-
tion. Theoretically, a site may span multiple domains, and a domain may span multiple sites.
Sites control replication of your domain information. Sites also help workstations locate
nearby domain controllers (via subnet information) for authentication purposes.
When a site spans multiple domains, there is an increase in the replication within that site
because additional domain databases must be replicated in addition to the forest schema, con-
figuration, and GCs.
The Knowledge Consistency Checker (KCC) is built in to Windows 2000 Server and runs on
all domain controllers. The KCC automatically establishes connections between domain con-
trollers in the same site. These connections are referred to as Active Directory connection
objects. You can add or remove connection objects, but if replication within a site becomes 8
impaired, the KCC establishes new connection objects to re-establish Active Directory replica-
NETWORK TRAFFIC
MANAGING SITES,
REPLICATION, AND
tion.
Default-First-Site
The first site set up automatically when Windows 2000 Server was installed on the first
domain controller in your enterprise is called Default-First-Site, as shown in Figure 8.2. If you
choose, you can rename this site.
FIGURE 8.2
The Default-First-Site.
228
NOTE
Placing a Global Catalog server in each site improves search performance because
searches do not have to cross site boundaries. In addition, a GC server is required for
domain login, so if a connection between sites is not available, logins will fail.
However, if a GC server is not available in one site but there is another GC server in a
remote site, that server may be used for the logon process. If no GC is available, a
cached login will result.
Because the availability of DNS directly affects the availability of Active Directory, you
should configure at least one DNS server in every site. Clients rely on DNS to locate domain
controllers, and domain controllers rely on DNS to find other domain controllers.
Managing Sites, Replication, and Network Traffic
229
CHAPTER 8
When you create sites and establish domain controllers in the sites, you need to create site
links and configure them in accordance with network throughput and replication schedule.
To create a site, perform the following steps:
1. Open Active Directory Sites and Services.
2. Right-click the Sites folder and then click New Site.
3. In the Name box, type the name of the new site.
4. Click a site link object and then click OK.
5. Associate a subnet with a site for this newly created site.
6. Move a domain controller from an existing site into this new site, or install a new
domain controller.
7. If you want to choose a specific licensing computer, other than the one automatically
selected, select another licensing computer.
8. Delegate control of the site.
When finished, you should see something similar to Figure 8.3.
8
NETWORK TRAFFIC
MANAGING SITES,
FIGURE 8.3 REPLICATION, AND
Creating a new site.
In Active Directory Sites and Services, you can delegate control for the Subnets, Inter-site
Transports, Sites, and Server containers. Delegating control of an object allows you to specify
who has permissions to access or modify that object or its child objects.
230
NOTE
A site is a Container object, so deleting a site also deletes all directory objects con-
tained within the site. You cannot delete the site called Default-First-Site.
Subnets
A site must be associated with one or more subnets. Subnets are derived from the IP address
and subnet mask of a computer existing in the particular subnet. You can view your computer’s
IP configuration by typing ipconfig /all at a command prompt.
Computers on TCP/IP networks are assigned to sites based on their location in a subnet or a
set of subnets, which group computers to identify their physical network proximity. Subnet
information is used during the authentication process to locate a domain controller in the same
site as the computer’s subnet. Replication is also dependent upon subnet information to deter-
mine the best routes between domain controllers.
If your network consists of a single local area network (LAN) or a set of LANs connected by a
high-speed backbone, the entire network can be a single site. The first domain controller you
install automatically creates the first site, known as the Default-First-Site-Name. Additional
domain controllers are automatically added to the same site as the original domain controller,
and can be moved when other sites are created later. The only exception is if, when you install
a domain controller, its IP address falls within the subnet previously specified in an alternative
site, the domain controller is then added to this alternative site.
Managing Sites, Replication, and Network Traffic
231
CHAPTER 8
NETWORK TRAFFIC
MANAGING SITES,
REPLICATION, AND
1. Open Active Directory Sites and Services.
2. In the console tree, expand the subnet container and select the subnet that you want to
delete and then click Delete.
Connections
A connection object represents a replication connection from one domain controller to another.
The connection object is a child of the replication destination’s NTDS Settings object and
points from the source to the replication source.
Connection objects are created in two ways—either automatically by the KCC or manually by
the administrator.
A connection is unidirectional. A bidirectional replication connection is represented as two
connection objects under two different NTDS Settings objects.
By creating site links and configuring their replication availability, relative cost, and replication
frequency, you provide the KCC with information about what connection objects to create to
facilitate replication of directory data. Active Directory uses site links as indicators for where it
should create connection objects, and connection objects use the actual network connections to
exchange directory information.
232
Replication is performed between naming context (NC) replicas. Domain controllers will often
have several NCs in common (always have at least two—the Configuration NC and the
Schema NC). The connection between domain controllers will be used to replicate as many
NCs as needed.
NOTE
You don’t need to create multiple connections linking the same two domain
controllers in the same direction.
The KCC automatically creates connections to maintain directory connectivity during failures.
See Figure 8.4 for an illustration of how the KCC performs this function.
Automatic Manual
H A H A
G B G B
F C F C
E D E D
FIGURE 8.4
Automatic (KCC) and manual (administrator) connections.
The only situation where you would manually configure connections is when the KCC’s con-
nection fails to connect certain domain controllers that you believe should be connected.
For example, within a site, you can add connections to reduce intrasite replication latency. By
default, an update takes at most three hops from where it originates in a site to any other
domain controller in a site. Even though the extra connections could reduce the hop count to
two or one, the consequences to this action are extra CPU cycles and disk reads due to replica-
tion.
You may also want to establish a replication schedule that the KCC couldn’t create.
Managing Sites, Replication, and Network Traffic
233
CHAPTER 8
NOTE
If a manual connection matches one the KCC would normally create, the KCC will not
create an additional connection. The KCC will never delete a connection created man-
ually.
You can specify the replication period when you create a site link object. If this value is not
created, a global default replication period (which can be modified) will be assumed for the
site link. When the KCC creates a connection object, its replication period will be the maxi-
mum of the periods along the minimum-cost path of site link objects from one end of the con-
nection to the other.
Site Links
A site link object represents a group of sites that can communicate at uniform cost through an
intersite transport. Site link objects are unidirectional connections between two or more sites,
and will typically correspond to an actual WAN link. 8
NETWORK TRAFFIC
MANAGING SITES,
REPLICATION, AND
Network connections between sites are represented by site links. A site link is a low-bandwidth
or unreliable connection between sites. You should consider any two networks connected by a
link that is slower than LAN speed to be connected by a site link. Also, a high-speed link that
is near capacity has a low effective bandwidth and should also be considered a site link. When
you have multiple sites, sites connected by site links become part of the replication topology.
You create a site link object for a specific intersite transport by specifying:
• A numeric cost—Higher cost numbers represent more expensive messages. And costs
influence the frequency of replication on KCC-configured connections.
• Two or more sites—In order to configure a site link, you must have at least two sites
configured in your enterprise.
• A schedule—The schedule determines the time periods when the link is available.
A site can be connected to other sites by any number of site link objects. Each site in a multi-
site directory must be connected by at least one site link in order to replicate with domain con-
trollers in other sites. Site links must be configured if two or more sites exist in your
enterprise.
To create a site link, perform the following steps:
1. Open Active Directory Sites and Services.
2. In the console tree, expand the site and intersite transport containers hosting the site link.
3. Right-click the desired intersite transport protocol and then click New Site Link.
234
Non-bridgehead
Server
Non-bridgehead
Server
Bridgehead
Server Site Link
Bridgehead
Server
Non-bridgehead
Server
Non-bridgehead
Server
FIGURE 8.5
Two sites connected by a site link. Each site’s preferred bridgehead server is used preferentially for intersite informa-
tion exchange.
Managing Sites, Replication, and Network Traffic
235
CHAPTER 8
The bridgehead servers are the preferred servers for replication, but you can also configure the
other domain controllers in the site to replicate directory changes between sites.
In situations where an acquisition, merger, or division requires deletion of a site, you can per-
form the following steps:
1. Open Active Directory Sites and Services.
2. In the console tree, expand the site and intersite transport folder containers hosting the
site link.
3. In the details pane, right-click the site link you want to delete and then click Delete.
NETWORK TRAFFIC
MANAGING SITES,
REPLICATION, AND
inform Active Directory how long it should wait before using this connection to check
for replication updates. The replication interval must be at least 15 and no more than
10,080 minutes (one week).
Bridgehead Servers
Bridgehead servers are dedicated domain controllers that manage intersite replication for the
site, as shown in Figure 8.6. You can specify a preferred bridgehead server if you have a com-
puter with appropriate bandwidth to transmit and receive information. If there’s typically a
high level of directory information exchange, a computer with more bandwidth can ensure that
these exchanges are handled promptly. Typically, the same bridgehead server is used for all
replication under a particular transport.
NOTE
You can specify multiple preferred bridgehead servers, but only one will be the active
preferred bridgehead server at any time.
236
Non-bridgehead
Server
Non-bridgehead
Server
Bridgehead
Server Site Link
Bridgehead
Server
Non-bridgehead
Server
Non-bridgehead
Server
FIGURE 8.6
A site link and its corresponding bridgehead servers.
If the active preferred bridgehead server fails, Active Directory selects another preferred
bridgehead server to be the active preferred bridgehead server from the set you designate. If no
active preferred bridgehead server is available and there are no other preferred bridgehead
servers available for Active Directory to select, it selects another domain controller in the site
to be the preferred bridgehead server. If no other domain controller is available, intersite repli-
cation will fail.
You must specify a preferred bridgehead server if your deployment uses a Windows 2000
Server firewall. Establish your firewall proxy server as the preferred bridgehead server, making
it the contact point for exchanging information with servers outside the firewall.
If there are multiple servers in a site, the preferred bridgehead server for a protocol used in a
site link will solely support intersite replication. Although domain controllers will still
exchange directory information as needed, the preferred bridgehead server will be the primary
choice for intersite replication.
Managing Sites, Replication, and Network Traffic
237
CHAPTER 8
The bridgehead server then distributes the directory information via intrasite replication.
To designate a preferred bridgehead server, perform the following steps:
1. Open Active Directory Sites and Services.
2. In the console tree, expand the Sites container.
3. Expand the domain containing the domain controller to be designated as the bridgehead
server.
4. Expand the Servers container, if necessary.
5. Right-click the domain controller, and select Properties.
6. Select a transport (IP or SMTP), click the Add button, and then click OK.
CAUTION
Establishing manual bridgehead servers may impact the KCC’s ability to fail over to
another bridgehead in the event of an outage.
8
Site Link Bridges
NETWORK TRAFFIC
MANAGING SITES,
REPLICATION, AND
A site link bridge object represents a set of site links, all of which communicate via an
assigned transport. Site link bridges are user-specified collections of fully routable site links,
which add transitive features to replication. Like bridges within a router, they connect multiple
site links so that replication can pass along many sight links.
You create a site link bridge object for a specific intersite transport by specifying two or more
site links for the specified intersite transport.
To understand what a site link bridge means, consider this example (as illustrated in
Figure 8.7):
• Site link XY connects sites X and Y through IP with cost 3.
• Site link YZ connects sites Y and Z through IP with cost 4.
• Site link bridge XYZ connects XY and YZ.
The site link bridge XYZ implies that an IP message can be sent from site X to site Z with
cost 3+4 = 7. That is all the bridge does in this simple example.
Each site link “L” in a bridge should have some site in common with another site link in the
bridge. Otherwise, the bridge cannot compute the cost from sites in link “L” to the sites in
other links of the bridge.
238
Site link XY = 3
Site X Site Y
Site link YZ = 4
Site link bridge XYZ = 7
Site Z
FIGURE 8.7
A site link bridge.
Multiple site link bridges for the same transport work together to model multi-hop routing.
Add the following objects to the previous example:
• Site link WX connects sites W and X through IP with cost 3.
• Site link bridge WXY connects WX and XY.
Now the site link bridges WXY and XYZ together imply that an IP message can be sent from
site W to site Z with cost 2+3+4=9.
If your IP network is not fully routed, you can turn off the transitive site link feature for the IP
transport, in which case all IP site links will be considered intransitive, and you can configure
site link bridges to model the actual routing behavior of your network.
To turn off the transitive site link for the IP transport, perform the following steps:
1. Open Active Directory Sites and Services.
2. In the console tree, expand the Sites and Inter-Site Transports containers, if necessary.
3. Right-click the IP container, and select Properties.
4. Clear the Bridge All Site Links check box.
After you have removed the transitive site link feature, you need to establish manual site link
bridges.
Any network that you can describe by a combination of site links and site link bridges, you can
also describe by site links alone. By using site link bridges, the network description is much
smaller and easier for you to maintain because you don’t need a site link to describe every pos-
sible path between pairs of sites.
Managing Sites, Replication, and Network Traffic
239
CHAPTER 8
NOTE
If you have enabled Bridge All Site Links, this procedure is redundant and will have
no effect.
NETWORK TRAFFIC
MANAGING SITES,
REPLICATION, AND
3. In the details window, right-click the site link bridge you want to delete and click Delete.
NOTE
In a fully routed IP network, there is no need to create site link bridges.
Benefits
According to Microsoft, some of the key benefits of the Active Directory replication model are
as follows:
• Active Directory always replicates changes to the correct object and can differentiate
between a deleted object and a new object that has the same distinguished name (also
known as “DN”). This is possible because the process of replication is based on the glob-
ally unique identifiers (GUIDs) of directory objects, not on their distinguished names.
• Since only attribute changes are replicated (as opposed to the entire object), this replica-
tion model minimizes update conflicts and traffic.
• Wide area network (WAN) communication is minimized through support for store-and-
forward replication and the compression of replication data between sites. Servers con-
tain only a subset of the objects in the entire directory—those required for the forest and
those specific to the server domain.
Managing Sites, Replication, and Network Traffic
241
CHAPTER 8
• Replication topology (including choice of transports) is flexible to make the best use of
different network topologies.
• System configuration remains flexible because the sites are not tied to the partition struc-
ture of the directory.
• Speed over high-latency communication links is enhanced due to lowering the number of
network round-trips by replication protocols.
• Minimized dependencies on other services, such as time synchronization (W32Time).
Replication Components
The following mechanisms contribute to the overall replication system:
• Multi-master loose consistency with convergence, which maintains data integrity.
• Multi-master means that a directory partition can have many writable replicas, or
copies, that must maintain consistency between domain controllers. Changes or
updates are then propagated to other domain controllers in the forest.
• Loose consistency means that the replicas are not guaranteed to be consistent with
each other at any particular point in time because changes can be applied to any 8
full replica at any time.
NETWORK TRAFFIC
MANAGING SITES,
REPLICATION, AND
• Convergence means that if the system reaches a static state (after all updates have
been completely replicated), all replicas are guaranteed to converge on the same set
of values.
• Store-and-forward replication, which means that changes are distributed to only a subset
of domain controllers. This subset of domain controllers then forwards the updates to
other domain controllers, and so on, until the change has propagated to every domain
controller.
• Pull replication, which means that domain controllers request (or pull) updates from
replication partners.
• State-based replication, which means that instead of storing a full change log, each direc-
tory partition replica stores per-object and per-attribute data to support replication.
Multi-Master Replication
Active Directory domain controllers support multi-master replication, synchronizing data on
each domain controller, and ensuring consistency of information over time. Multi-master repli-
cation replicates Active Directory information among peer domain controllers, each of which
has a read-and-write copy of the directory. This is a change from the Windows NT Server
operating system, where only the PDC had a writable copy of the directory (the BDCs received
read-only copies from the PDC). Once configured, replication is automatic and transparent.
242
Store-and-Forward Replication
Store-and-forward replication is designed to reduce communication over slow WAN links. An
update replicates first to nearby replicas, then expands to replicas that are farther away. Store-
and-forward greatly reduces the WAN traffic produced by replication.
Active Directory can create the topology automatically after you have defined sites, site links,
and site link bridges. Based on this model, Active Directory creates replication connections
that allow Active Directory to perform replication. When failures occur, Active Directory modi-
fies replication connections to keep replication going. Manually created connections coexist
with automatically generated ones.
Pull Replication
Active Directory uses pull replication, in which a destination replica requests information from
a source replica. The request specifies the information that the destination needs, based on its
knowledge of changes already received from the source and from all other domain controllers
in the domain. When the destination receives information from the source, it applies that infor-
mation, bringing itself more up-to-date. The destination’s next request to the source excludes
the information that has already been received and applied.
The alternative is push replication, in which a source sends information to a destination unso-
licited, in an attempt to bring the destination more up-to-date. Push replication is challenging
because it is difficult for the source to know what information the destination needs, especially
if the destination has received identical information from another source.
State-Based Replication
In state-based replication, each domain controller applies updates to its replica as they arrive,
without maintaining a change log file. In a typical log-based replication system, each master
keeps a log of the updates that it originated which it shares with other masters to ensure consis-
tency.
Active Directory replication is driven not by logs stored with the source replica, but by the cur-
rent “state” (the current values of all objects) of the source replica. This state includes informa-
tion used to resolve conflicts and avoid sending the full replica during each replication. Each
originating write operation is assigned a unique sequence number (USN) at its originating
domain controller. The USN is a 64-bit number designed to manage replication consistency.
All replicas maintain information about how up-to-date they are with respect to all other repli-
cas, and values in the directory are tagged with USNs of their originating write updates. By
using this information, the replication source can filter the state changes that it replicates.
A state-based approach uses a single mechanism for incremental and full synchronization, and
performs fewer database updates.
Managing Sites, Replication, and Network Traffic
243
CHAPTER 8
Updates
Replication is triggered when an object is updated a domain controller. A timer is started and
changes are collected for a predetermined period, after which the replication engine notifies
adjacent domain controllers in the replication topology. After it has been notified that there are
changes to be collected, the destination domain controller contacts the source domain con-
troller to request the changes.
Replication between sites is typically performed on a scheduled basis. A domain controller
requests changes from domain controllers in other sites according to a configurable schedule.
NETWORK TRAFFIC
MANAGING SITES,
menting and storage of the USN and the write of the property value succeed or fail as a single
REPLICATION, AND
unit.
Each Active Directory-based server maintains a table of USNs received from replication part-
ners where only the highest USN is stored in this table. When a given partner notifies the
directory server that replication is required, that server requests all changes with USNs greater
than the last value received.
USNs allow for easier recovery in the event of a failure. To restart replication, a server requests
all changes with USNs greater than the last valid entry in the table.
Originating
A Lightweight Directory Access Protocol (LDAP) directory server supports the following four
types of update requests:
• Add a directory object
• Modify (add, delete, or replace) object attribute values
• Move an object by changing the name or parent of the object
• Delete a directory object
An LDAP directory server processes each write request as an all-inclusive individual transac-
tion. A write request either completely commits or fails before completion and has no effect on
the directory.
244
Replication Topology
The replication topology in Windows 2000 Active Directory is complex and could constitute a
chapter within itself. A variety of components and factors create a positive replication topol-
ogy. Let’s begin with the protocols.
• Replication between sites over SMTP is supported for only domain controllers of differ-
ent domains. Domain controllers of the same domain must replicate by using the RPC
over IP transport.
The Inter-Site Transports container allows you to map site links to the transport used by the
link. When you create a site link object, you create it in either the IP container or the SMTP
container.
The following characteristics apply to both SMTP and RPC with respect to Active Directory
replication:
• For replication between sites, data replicated through both transports is compressed.
• Active Directory can respond with only a fixed (maximum) number of changes per
change request, on the basis of the size of the replication packet. The size of the replica-
tion packet is configurable.
• Active Directory can have only a single change request outstanding for a specific direc-
tory partition to a specific replication partner.
• Changes are transported in one or many frames, based on the total number of changed or
new values. 8
NETWORK TRAFFIC
MANAGING SITES,
REPLICATION, AND
• TCP transports the data portion by using the same algorithm for both SMTP and RPC.
• If transmission of the data portion fails for either, complete retransmission is necessary.
• If bandwidth is limited, the same TCP retransmission characteristics apply. (RPC time-
out is much longer than TCP time-out.)
Because SMTP is not used for replication of domain directory partitions, Windows 2000 pro-
vides point-to-point synchronous RPC replication in addition to asynchronous SMTP replica-
tion between sites to allow the flexibility of having domains span multiple sites. RPC is best
used between well-connected sites because it involves lower latency. SMTP is best used
between sites where RPC over IP is not possible.
Active Directory replication uses both transports to implement a request-response mechanism.
Active Directory issues requests for changes and replies to requests for changes. RPC maps
these requests into RPC requests and RPC replies. SMTP, on the other hand, actually uses
long-lived TCP connections to deliver streams of mail in each direction. Thus, RPC transport
expects a response to any request more or less immediately and can have a maximum of one
active inbound RPC connection to a directory partition replica at a time. The SMTP transport
expects much longer delays between a request and a response. As a result, multiple inbound
SMTP connections to a directory partition replica can be active at the same time, provided the
requests are all for a different source domain controller or directory partition.
246
Intrasite Replication
Directory information within a site is replicated frequently and automatically. Intrasite replica-
tion minimizes replication latency, to maintain data consistency. Intrasite directory updates are
not compressed, which uses more network resources but requires less processing power.
Figure 8.8 illustrates replication within a site. Three domain controllers (one of which is a
Global Catalog) replicate the forest’s schema data and configuration data, as well as all direc-
tory objects (with a complete set of each object’s attributes).
GC
DC with
Global Catalog
DC DC
kevinkocis.com
FIGURE 8.8
Intersite replication (replication within a site).
The replication topology is automatically generated by the KCC, which attempts to establish a
topology that allows at least two connections to every domain controller, so if a domain con-
troller becomes unavailable, directory information can still reach all online domain controllers
through the other connection.
Managing Sites, Replication, and Network Traffic
247
CHAPTER 8
The KCC continuously evaluates and modifies the replication topology to meet the changing
state of the network. For example, when a domain controller is added to a site, the replication
topology is modified to include the new server in the replication process.
If you expand your deployment from the first domain controller in one domain to multiple
domain controllers in multiple domains, but in the same site, the replicated directory informa-
tion changes to include the replication of the partial replica between Global Catalogs in differ-
ent domains.
Figure 8.9 shows two domains, each containing three domain controllers. One domain con-
troller in each domain is also a Global Catalog server. Within each domain, the domain con-
trollers replicate the forest’s schema data and configuration data, as well as all directory
objects (with a complete set of each object’s attributes), just as in Figure 8.8. In addition, each
Global Catalog replicates the directory objects (with only a subset of their attributes) for its
own domain to the other Global Catalog.
NETWORK TRAFFIC
MANAGING SITES,
REPLICATION, AND
DC with DC with
GC GC
Subset of domain-specific data
DC kevinkocis.com DC DC north-rim.com DC
FIGURE 8.9
Intrasite replication with two domains and two Global Catalogs.
Intersite Replication
Create multiple sites to optimize both server-to-server and client-to-server traffic over WAN
links. In Active Directory, intersite replication automatically minimizes bandwidth consump-
tion between sites.
Microsoft recommends the following practices when setting up multiple sites:
• Geography—Establish every geographic area requiring fast access to the updated direc-
tory information as a site.
248
• Domain controllers and Global Catalogs—Place at least one domain controller in every
site and configure at least one domain controller in each site as a Global Catalog. This
will alleviate dependency on other sites for directory information.
• Site Links—Keep all site links transitive and ignore replication schedules.
Replication Tombstones
As mentioned earlier in this chapter, Windows 2000 uses a multiple master replication scheme.
This scheme makes it somewhat difficult to remove data from the active directory database or
to restore pieces of the active directory database and maintain data consistency at the same
time. Windows 2000 uses a data removal method referred to as tombstoning to accomplish this
task.
When a user deletes an object from Active Directory, the object is not actually deleted from the
active directory database at that moment. Instead the object is removed from the user interface,
and is marked in the database with a tombstone. The tombstone is an expiration attribute for
the object. This tombstone attribute is then replicated to all other DC’s. When the expiration
time set in the tombstone is reached, the object will be removed from all copies of the active
directory database at approximately the same time.
Replication Tools
There are a few tools and utilities that Microsoft provides to manage and monitor Active
Directory replication. They are as follows:
• Replication Monitor (replmon.exe)
• Replication Administrator (repadmin.exe)
• dsastat
FIGURE 8.10
The replmon.exe tool.
NETWORK TRAFFIC
MANAGING SITES,
REPLICATION, AND
dsastat
The dsastat utility is not geared toward sites or replication but assists with diagnosing naming
context issues. You would use dsastat if there were no obvious issues in the replication monitor
log files. dsastat compares different naming contexts on different DCs and can detect replica
inconsistencies.
Summary
This chapter addressed the purpose of sites and subnets, and how they relate to Active
Directory replication. Sites constitute the physical aspect of AD, whereas the namespace and
domains make up the logical. It is important to remember that although they are not related,
they need to be built in tandem. The next chapter looks at managing flexible single master
operations servers.
Managing Updates with CHAPTER
9
Flexible Single-Master
Operations
IN THIS CHAPTER
• Flexible Single-Master Fundamentals 252
Although Active Directory allows all domain controllers (DCs) to act as peers in an enterprise,
and multi-master replication allows for consistency, you’ll still find some exceptions to this
peer group. Five roles must retain the responsibility of a single domain controller. These roles
are called Flexible Single-Master Operations (FSMO). This chapter examines the importance
of each role and how you can place these roles in your enterprise to ease administration.
NOTE
In most cases you will see this technology referred to as flexible single-master opera-
tions, or FSMOs, but it is worth noting that in some Microsoft curricula this technol-
ogy is simply referred to as Operations Masters. Either term is referring to the same
thing.
NOTE
As mentioned in Chapter 7, “Managing and Modifying Active Directory Schema,” you
should not need to edit or modify the schema regularly. This process should follow an
approved and documented procedure requiring sign-off from your implementation
team and senior management. Refer to the aforementioned section for more details.
For this reason, Active Directory performs certain updates in a single-master fashion to prevent
conflicts. With schema updates, only the designated domain controller in the forest (the one
holding the schema master role) accepts updates to schema objects. The schema master role is
one example of a Flexible Single-Master Operation role, also referred to as an operations mas-
ter role or FSMO role. For each role that controls a specific set of directory changes, only the
domain controller holding that role can make the necessary directory changes.
NOTE
FSMOs perform roles similar to those of primary domain controllers in an NT4 envi-
ronment. They perform specific functions required by a single domain controller in
the forest or domain.
NOTE
FSMOs are not a consideration in small Active Directory deployments with a single
domain controller. 9
FLEXIBLE SINGLE-
OPERATIONS
MASTER
If you have deployed a complex Active Directory structure, you need to consider which
domain controllers will hold operations master roles, where they will be located or relocated,
and what to do in the event of a server unavailability or failure.
This chapter discusses all the operations master roles, their placements, security, and trou-
bleshooting.
Consequently, a forest with only one domain has five operations master roles. A forest with
more than one domain has more than five roles because the per-domain roles need to exist in
each domain. The basic formula for determining the number of FSMO roles in your enterprise
is as follows:
2+(3–number of domains)
So, if your enterprise consists of eight domains [2+(3–8)], you will have 26 FMSO roles. The
2 consistent roles are the schema master and domain naming master (per-forest roles). Make
sure these roles are maintained on a single DC in the forest. The other 24 roles are spread out
3 per domain (eight domains). You’ll learn more about the placement of these roles later in the
chapter.
NOTE
These roles can be hosted only on Windows 2000 domain controllers, regardless of
the domain mode (mixed or native). By default, all five roles are installed on the first
domain controller installed in Active Directory.
Managing Updates with Flexible Single-Master Operations
255
CHAPTER 9
Let’s consider the example of Kevinkocis.com. If you set up domains in North America and
South America, you could use the following domain naming structure:
• Kevinkocis.com (root domain)
• Na.kevinkocis.com (North American domain)
• Sa.kevinkocis.com (South American domain)
Remember that the schema master and domain naming master are forest roles, so only one of
each exists in the entire enterprise:
• Schema master (forest): Kevinkocis.com
• Domain naming master (forest): Kevinkocis.com
However, because three domains require one of each of the three per-domain roles, an addi-
tional nine roles are added to the enterprise:
• RID master (domain): Kevinkocis.com
• RID master (domain): Na.Kevinkocis.com
• RID master (domain): Sa.Kevinkocis.com
• Primary domain controller emulator (domain): Kevinkocis.com
• Primary domain controller emulator (domain): Na.Kevinkocis.com
• Primary domain controller emulator (domain): Sa.Kevinkocis.com
• Infrastructure master (domain): Kevinkocis.com
• Infrastructure master (domain): Na.Kevinkocis.com
• Infrastructure master (domain): Sa.Kevinkocis.com
NOTE
9
FLEXIBLE SINGLE-
OPERATIONS
FSMO roles are not numerically equivalent to domain controllers. Multiple roles may
MASTER
be placed on the same DC. Some recommendations and restrictions are mentioned in
the “Operations Master Roles and Placement” section of this chapter.
Any domain controller located in any domain in the forest can hold the schema or domain
naming role. Per-domain roles must be hosted on domain controllers in their respective
domains. Because a single domain controller can host up to 5 operations master roles, includ-
ing 1 of each role, the 11 roles might be hosted by as few as 3 domain controllers or as many
as 11. Let’s look at Figure 9.1.
256
FSMO Roles
Schema Master
Domain Naming Master
dc1.kevinkocis.com
dc2.kevinkocis.com dc3.kevinkocis.com
FIGURE 9.1
A hypothetical perspective of how the roles can be distributed across servers in a domain that is also the forest root.
In this example, three domain controllers host all the necessary roles for the enterprise.
Remember the first controller to be installed in a Windows 2000 forest has all five roles
assigned to it by Active Directory. The first domain controller installed in a new domain in the
existing forest has all three per-domain roles assigned to it. However, these roles can be trans-
ferred, depending on several factors. I’ll go into more detail about placement and transferring
roles later in the chapter.
For now, let’s look at the responsibilities of each of these roles in greater detail.
Schema Master
The schema master role is responsible for writing updates to the directory schema, including
the creation of new classes or attributes. Because only one schema exists in the forest, only one
domain controller in the forest can be assigned this role. Schema updates are then replicated
from the schema master to all other domain controllers in the forest.
Updating the directory schema requires you to connect to the domain controller holding the
forest’s schema master role. You can transfer roles between other domain controllers if neces-
sary.
To determine the schema master role in a forest, open the Active Directory Schema console
and right-click Active Directory Schema in the top-left pane. Then select Operations Masters to
view the server holding the schema master role.
Managing Updates with Flexible Single-Master Operations
257
CHAPTER 9
NOTE
If you make changes to the schema on a domain controller that is not a schema mas-
ter role domain controller, the changes are not saved, and you receive the following
error:
The displayable status could not be changed
FLEXIBLE SINGLE-
OPERATIONS
MASTER
FIGURE 9.2
In this example, dc1.kevinkocis.com hosts the schema master role. The check box allows for modifications locally at
this server. Here, you are also connected locally because the Current Focus and Current Operation values are the
same.
258
NOTE
See “Performing Operations Master Role Transfers” later in this chapter for detailed
instructions and cautions regarding role transfers in forests and domains.
When the domain naming master creates an object representing a new domain, it must ensure
no other object has the same name. For this reason, the domain naming master should also be a
Global Catalog server. The domain naming master verifies duplicates by running on a Global
Catalog server, which contains a partial replica of every object in the forest.
NOTE
You can find ntdsutil in the Windows 2000 Resource Kit from Microsoft.
Under the Domain Management option in ntdsutil, type precreate followed by the correct DC
and DNS to create the new object. Then use the Active Directory Installation Wizard. You can
connect to the domain naming master using the ntdsutil tool to create a cross-reference object
that names the new domain. The cross-reference object is located in the Partitions container
of the Configuration directory partition. After the cross-reference object is replicated through-
out the forest, you can run the Active Directory Installation Wizard to create the new domain
using the newly created domain name. When you precreate the cross-reference object, the
Active Directory Installation Wizard does not require a connection to the domain naming mas-
ter to create the first domain controller of the domain. You must have sufficient access permis-
sions to create a domain.
If the domain naming master is unavailable when the ntdsutil tool attempts to connect to it, a
message similar to the following appears, with user input shown in bold type:
C:\>ntdsutil
ntdsutil: domain management
domain management: connections
server connections: connect to dc1.Kevinkocis.com
binding to dc1.Kevinkocis.com ...
DsBindW error 0x6ba(The RPC server is unavailable.)
To determine the domain naming FSMO holder in a forest, perform the following steps:
1. Open Active Directory Domains and Trusts. 9
2. Right-click the Active Directory Domains and Trusts node and then select Operations
FLEXIBLE SINGLE-
OPERATIONS
Master to view the domain controller holding the domain naming master role in the
MASTER
forest.
Figure 9.3 shows the Change Operations Master window for the domain naming operations
role. Note that the current master and the local machine are the same; therefore, you cannot
transfer the role.
260
FIGURE 9.3
The Change Operations Master window.
NOTE
Movetree.exe can be found in the support.cab file, which is located in the
Support/Tools directory on the Windows 2000 Server CD. For more information about
movetree.exe, see the Appendix, “Common Active Directory Utilities.”
Managing Updates with Flexible Single-Master Operations
261
CHAPTER 9
If you attempt to move an object from one domain to another using the movetree.exe tool and
you specify a source domain controller that is not the RID master, you get an unspecific
Movetree failed error message. Cross-domain object moves originate on the RID master to
prevent Active Directory from creating two objects in different domains with the same unique
identifier. (This situation could occur if an object were simultaneously moved from two
domain controllers to two different domains.)
Each Windows 2000 domain controller in a domain has a pool of RIDs it is allowed to assign
to security principals it creates. In addition, the domain has a pool of RIDs that have never
been assigned to a domain controller. When the number of RIDs in a domain controller’s RID
pool falls below a threshold, that domain controller submits background requests for additional
RIDs from the domain’s RID master. The domain’s RID master removes RIDs from the
domain’s RID pool and assigns these RIDs to the pool of the requesting domain controller.
NOTE
Refer to the monitoring performance in Chapter 8 for a review of RID pool manage-
ment and monitoring.
NOTE
In mixed mode with backup domain controllers (BDCs) still around, RID and PDCE
must be on the same machine. I’ll address the role of the primary domain controller
emulator next.
9
Primary Domain Controller Emulator (PDCE)
FLEXIBLE SINGLE-
OPERATIONS
MASTER
Windows 2000 interoperates with Windows NT 3.51 and 4.0 workstations, member servers,
and domain controllers. Therefore, one domain controller in a Windows 2000 system must
serve as primary domain controller for backward compatibility with these systems. The
domain controller with this capability is called the primary domain controller emulator role.
Active Directory uses multi-master replication for most directory updates. This means that
unavailability of the primary domain controller emulator does not have the same impact as
unavailability of the primary domain controller in Windows NT 3.51 and 4.0. If the primary
domain controller emulator is unavailable, you may experience issues in the following areas:
262
• In a mixed-mode domain, the event logs of Windows NT 3.51 or 4.0 backup domain
controllers contain entries showing failed replication attempts.
• In a mixed-mode domain, trying to start User Manager on a Windows NT 3.51 or 4.0
backup domain controller results in a domain unavailable error message. If User
Manager is already running, you see an RPC server unavailable message. Attempting
to create an account using the net user /add command results in a could not find
domain controller for this domain message. When you run Server Manager, you
see a message similar to the following: Cannot find the primary domain controller
for <domain name>. You may administer this domain, but certain domain-
wide operations will be disabled.
As you upgrade systems to Windows 2000 or install the Active Directory client for Windows
9x (a Windows NT 4.0 client is not available yet), they no longer depend on the primary
domain controller. Instead of making password changes at the primary domain controller emu-
lator, clients update passwords at any domain controller in the domain. The upgraded clients
also use Active Directory instead of the Windows NT Computer Browser service to locate net-
work resources. When all backup domain controllers in a domain are upgraded to Windows
2000, the primary domain controller emulator does not receive any Windows NT 3.51 or 4.0
replication requests.
Even after all systems are upgraded to Windows 2000, the domain controller holding the pri-
mary domain controller emulator role still performs the following functions:
• Password changes performed by other domain controllers in the domain are sent to the
primary domain controller emulator first. This is called preferential replication.
• When an authentication fails with an invalid password at other domain controllers in the
domain, the authentication request is retried at the primary domain controller emulator
before failing. If a recent password update has reached the primary domain controller
emulator, the retried authentication request should succeed.
• When an authentication succeeds on an account for which the most recent authentication
attempt at the domain controller failed, the domain controller communicates this fact
(zero lockout count) to the primary domain controller emulator.
Therefore, when the primary domain controller emulator is unavailable, you may experience
password difficulties from legacy clients.
Managing Updates with Flexible Single-Master Operations
263
CHAPTER 9
Infrastructure Master
The domain controller hosting the infrastructure master role for the domain is responsible for
updating cross-domain group-to-user references. The infrastructure master updates these refer-
ences locally and uses replication to bring all other replicas of the domain up-to-date. For
example, if you add a user to a group in the same domain by using the Active Directory Users
and Computers snap-in, you can immediately view the group membership and see the user you
just added. If you rename the user object (change its cn attribute) and then display the group
membership again, you instantly see the user’s new name in the list of group members.
However, if the user and group are located in different domains, a time lag occurs between the
time you rename a user object and the time a group containing that user displays the user’s
new name. Until it is updated, the user’s old name appears. This time lag is inevitable in a dis-
tributed environment with locally administered sites.
NOTE
The infrastructure master role must not be hosted on a Global Catalog (GC) server
because this role looks to the Global Catalog for object references it might not con-
tain. However, in a single domain enterprise, the infrastructure master role serves no
function, so it doesn’t matter if it resides on a GC server.
For example, when an object on one domain controller references an object that is not on that
domain controller, it represents that reference as a record containing the globally unique identi-
fier (GUID), the security identifier (SID) for security principals, and the distinguished name of
the object being referenced. If the referenced object moves, its GUID does not change, its SID
changes if the move is across domains, and its distinguished name always changes. 9
FLEXIBLE SINGLE-
The infrastructure master occasionally examines the references of its directory replica against
OPERATIONS
MASTER
objects not held on that domain controller. It queries a Global Catalog server for current infor-
mation about the distinguished name and SID of each referenced object. If this information has
changed, the infrastructure master makes the change in its local replica and also replicates the
new values to other domain controllers within the domain.
If the infrastructure master runs on a Global Catalog server, it never updates anything because
it does not contain any references to objects that it does not hold. Remember, a Global Catalog
server only holds a partial replica of every object in the forest.
264
To determine the RID, PDC, and Infrastructure FSMO holders of a selected domain, perform
the following:
1. Open Active Directory Users and Computers.
2. In the console tree, right-click the domain object and then click Operations Masters.
3. Click the RID tab to view the name of the server holding the RID master role
(see Figure 9.4).
4. Click the PDC tab to view the name of the server holding the PDC master role.
5. Select the Infrastructure tab to view the name of the server holding the infrastructure
master role.
Figure 9.4 shows the domain operations roles (RID, PDC, and Infrastructure). Selecting the
various tabs displays information about the current role masters and transfer information.
FIGURE 9.4
The domain operations roles.
NOTE
You may need to set Advanced Features in the Active Directory Users and Computers
to view the Operation Masters option. Simply check the Advanced Features option
under the View menu in the console.
Managing Updates with Flexible Single-Master Operations
265
CHAPTER 9
FLEXIBLE SINGLE-
OPERATIONS
MASTER
FIGURE 9.5
The Active Directory Sites and Services snap-in.
266
You can name one of the two domain controllers you have chosen as the Operations master
domain controller for the domain and another the Standby operations master domain controller
for the domain.
NOTE
Remember that the infrastructure master role should not be hosted on a domain con-
troller that is a Global Catalog server. Also, it will require a good network connection
to a Global Catalog server from any domain, although having it within the same site
is ideal. If the infrastructure master role is held by a domain controller that is a
Global Catalog server, cross-domain object references in that domain are not
updated. If all domain controllers in a domain are Global Catalog servers, it does not
matter which domain controller holds the infrastructure master role.
To transfer a role, first focus the Active Directory snap-in on the domain controller that needs
to receive the role. Then right-click the snap-in node in the console tree and select Operations
Master. For per-domain roles, you then select the tab corresponding to the specific role you
want to transfer. The property page displays the Current Focus (the domain controller on which
the snap-in is focused), the Current Operations Master (the domain controller that is the cur-
rent role owner), and the online/offline status of the current role owner. Click Change and then
click Yes to complete the operation. Figure 9.6 shows the transfer confirmation window. In this
example, the RID operations master role is being transferred from dc1 to dc3.
FIGURE 9.6
The transfer confirmation window.
If the current role owner is available, the transfer is completed within a few seconds. If the
transfer is not completed within a short period of time, the domain controller is not available.
If this situation occurs, refer to the recommendations for failure responses explained in the
next section.
Additionally, you can use the Active Directory snap-ins to view the actual roles that a domain
controller owns. To do so, you choose one of the Active Directory snap-ins, right-click the root
node of the snap-in in the console tree, and select Operations Master. The Operations dialog
box displays the name of the domain controller that has the current focus and shows its status.
In mixed-mode domains that contain backup domain controllers, the Standby operations mas-
ter domain controller should be in the same site as the primary domain controller emulator. If 9
FLEXIBLE SINGLE-
you keep both domain controllers in the same site, you can avoid having the system perform a
OPERATIONS
full synchronization with the backup domain controllers (in the event you must seize the PDC
MASTER
emulator role to the Standby operations master domain controller).
NOTE
To perform seizures of the schema master, domain naming master, and RID master
roles, you are required to use the ntdsutil tool.
When you use the ntdsutil command-line tool to seize an operations master role, the tool
attempts a transfer from the current role owner first. Then, if the existing operations master is
unavailable, it performs the seizure.
The ntdsutil tool provides help information when you type a question mark (?). Figure 9.7
shows the ntdsutil command-line help screen with the help (?) options.
FIGURE 9.7
The ntdsutil command-line help screen with the help (?) options.
On this screen, the available ntdsutil tool commands are displayed after you enter a question
mark (?). To transfer an operations master role, you enter the roles command, which displays
the FSMO maintenance menu. Entering a question mark (?) displays the subcommands within
the FSMO maintenance menu. Before transferring the operations master role, you must con-
nect to the domain controller that will receive the role (reskit1 in the previous example) by
entering the connect to server subcommand. Then, after leaving the server connections
mode by entering quit, you issue the transfer domain naming master command. A confirma-
tion pop-up window appears for the transfer domain naming master operation.
Managing Updates with Flexible Single-Master Operations
269
CHAPTER 9
NOTE
You must have sufficient permissions to execute commands using the ntdsutil tool.
You also can view the current operations master role owner by using the ntdsutil
command-line tool from the Select Operation Target menu located under the Roles
option. If you choose the List Roles for Connected Server command, you see a list of
all the current operations master role owners.
FLEXIBLE SINGLE-
server connections: connect to server dc1
OPERATIONS
MASTER
Binding to dc1 ...
Connected to dc1 using credentials of locally logged on user
server connections: quit
domain management: select operation target
select operation target: list roles for connected server
Server “dc1” knows about 5 roles
Schema - CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,
➥CN=Sites,CN=Configuration,DC=kevinkocis,DC=com
Domain - CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,
➥CN=Sites, CN=Configuration, DC=kevinkocis, DC=com
PDC - CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,
➥CN=Configuration,
DC=kevinkocis,DC=com
270
FLEXIBLE SINGLE-
Infrastructure master Change infrastructure master Domain admins
OPERATIONS
If you attempt to perform a role transfer and do not have sufficient permissions, an error MASTER
occurs.
If the need arises, you can change the group of administrators that is able to perform specific
role transfers. For example, you might decide to create a new group called Domain Naming
Role Admins that has exclusive permission to transfer the domain naming master role. In this
case, you would create the group and then use adsiedit to find the domain naming master role
object. Next, you would display the object properties, remove the Change Domain Master per-
mission for Enterprise Admins, and add the Change Domain Master permission for Domain
Naming Role Admins. In this way, you can precisely control the set of administrators who can
transfer the domain naming master role.
272
The act of changing who can transfer a role does not change who can use the role. In the pre-
ceding example, the Domain Naming Role Admins can transfer the domain naming master
role, but they cannot create cross-reference objects; only Enterprise Admins can do that.
NOTE
In a properly configured directory, only a small number of administrators should have
the right to perform operations master role transfers.
NOTE
To seize a role, you need both the per-role object permission and the Write
fsmoRoleOwner property permission. By default, the Write fsmoRoleOwner property
permission is granted to the same groups that are granted the per-role object permis-
sions.
If you are Visual Basic savvy, you can also place operations master role owners programmati-
cally for both role transfers and seizures through Microsoft Visual Basic Script programs.
Active Directory operations master role transfers are exposed as LDAP update operations to a
root DSE operational attribute of the domain controller taking the role. A root DSE operational
attribute corresponds to each role:
• becomeSchemaMaster
• becomeDomainMaster
• becomeRidMaster
• becomePdc
• becomeInfrastructureMaster
Managing Updates with Flexible Single-Master Operations
273
CHAPTER 9
For example, by running the following Visual Basic Script program using the CScript com-
mand on a domain controller, you can transfer the domain naming master role to that domain
controller. The following is an example of the CScript:
Set dse = GetObject(“LDAP://localhost/RootDSE”)
dse.Put “becomeDomainMaster”, 1
dse.SetInfo
Active Directory role seizures are exposed as LDAP update operations to the FSMO-Role-
Owner attribute of the role object on the domain controller seizing the role.
For example, by running the following Visual Basic Script program using the CScript com-
mand on a domain controller, you can seize the domain naming master role to that domain
controller. Here is another example:
Dim dse, roleObject, ntdsDsa
Set dse = GetObject(“LDAP://localhost/RootDSE”)
Set roleObject = GetObject( “LDAP://localhost/” &
“CN=Partitions,” &
dse.Get(“configurationNamingContext”))
Set ntdsDsa = dse.Get(“dsServiceName”)
roleObject.Put “fSMORoleOwner”, ntdsDsa
roleObject.SetInfo
FLEXIBLE SINGLE-
OPERATIONS
MASTER
The first step in responding to the unavailability of a domain controller that is an operations
master role owner is to determine the anticipated duration of the outage.
If the outage is expected to be brief, wait for the role owner to become available before per-
forming a role-related function. If the outlook is grim, you might want to seize the operations
master role from a domain controller. When you seize a role, you are transferring it without the
cooperation of its current owner.
TIP
It is best to avoid seizing roles. The decision to seize an operations master role
depends on the role and the expected length of the outage.
274
CAUTION
You should proceed with caution because seizing any of these roles is a drastic step. A
domain controller whose schema master, domain naming master, or RID master role is
seized must never come back online. Before you proceed with the role seizure, dis-
connect the domain controller from the network.
The domain controller that seizes the role should be current with respect to updates performed
on the previous role owner. Because of replication latency, the domain controller might not be
up-to-date.
To check the status of updates for a domain controller, you can use the repadmin command-
line tool, which is a Resource Kit tool that performs replication diagnostics. It is available on
the Microsoft Windows 2000 Server installation CD. repadmin can determine whether a
domain controller has the most current updates.
For example, to make sure a domain controller is fully up-to-date, suppose that dc1 is the RID
master of the domain Kevinkocis.com, dc2 is the Standby operations master domain controller,
and server1 is the only other domain controller in the Kevinkocis.com domain. Using the
repadmin tool, you would issue the following commands as indicated by the bold type (I’ll use
rounded numbers for simplicity’s sake):
C:\>repadmin /showvector dc=kevinkocis,dc=com server1.Kevinkocis.com
FLEXIBLE SINGLE-
OPERATIONS
C:\>repadmin /showvector dc=kevinkocis,dc=com server1.Kevinkocis.com
Ignore all output lines except those for dc1. dc2’s up-to-date status value with respect to dc1
(dc1 @ USN 1800) is larger than server1’s up-to-date status value with respect to dc1 (dc1 @
USN 1600), making it safe for dc2 to seize the RID master role formerly held by dc1. If the
up-to-date status value for dc2 is less than the value for server1, you wait for normal replica-
tion to update dc2, or use the repadmin tool’s /sync/force commands to make the replication
happen immediately.
276
After you determine that the role owner is fully up-to-date, you can seize the operations master
role by using the ntdsutil tool.
Here is an example:
C:\>ntdsutil
ntdsutil: roles
fsmo maintenance: connections
server connections: connect to dc2.kevinkocis.com
binding to dc2.Kevinkocis.com ...
Connected to dc2.Kevinkocis.com
using credentials of locally logged on user
server connections: quit
fsmo maintenance: seize RID master
Server “dc2.Kevinkocis.com” knows about 5 roles
Schema - CN=NTDS Settings,CN=server2,CN=Servers,
CN=Chicago,CN=Sites,CN=Configuration,DC=kevinkocis,DC=com
Domain - CN=NTDS Settings,CN=server2,CN=Servers,
CN=Chicago,CN=Sites,CN=Configuration,DC=kevinkocis,DC=com
PDC - CN=NTDS Settings,CN=server3,CN=Servers,
CN=Tampa,CN=Sites,CN=Configuration,DC=kevinkocis,DC=com
RID - CN=NTDS Settings,CN=server10,CN=Servers,
CN=Tampa,CN=Sites,CN=Configuration,DC=kevinkocis,DC=com
Infrastructure - CN=NTDS Settings,CN=server1,CN=Servers,
CN=Phoenix,CN=Sites,CN=Configuration,DC=kevinkocis,DC=com
fsmo maintenance: quit
ntdsutil: quit
This error message occurs even if you set a valid Simple Network Time Protocol (SNTP) time
server using the net time /setsntp command, and network connectivity to the external time
server exists.
Windows 2000 servers that are not domain controllers and Windows 2000 clients attempt to
locate a domain controller to synchronize the network time. Domain controllers attempt to
contact the domain controller hosting the primary domain controller emulator FSMO role.
Only the domain controller that holds the PDC FSMO role can query an external time source
to set the time. To resolve this issue, make sure you query an external time source only from
the PDC emulator FSMO.
Infrastructure Error
The infrastructure error may be common and is usually an oversight in FSMO planning. As I
mentioned earlier in the chapter, in a multi-domain enterprise, the infrastructure master role
cannot be located on a Global Catalog server. Event error 1419 may be generated because
there may be problems with an Infrastructure FSMO role holder performing its duties if it is
also a Global Catalog server.
The error message in Event Viewer may be similar to the following sample:
Event ID: 1419
Event Type:Error
9
FLEXIBLE SINGLE-
Event Source:NTDS General
OPERATIONS
Event Category:Directory Access
MASTER
Event ID: 1419
Date:3/13/2000
Time:11:42:18 AM
User:Everyone
Computer: Server1
In this case, this DC is both a Global Catalog and the infrastructure update master. These two
roles are incompatible. If another machine exists in the domain, it should be made the infra-
structure update master. The machine CN=NTDS (Settings,CN=Server2,CN=Servers,
CN=Chicago,CN=Sites,CN=Configuration,DC=PRODOM,DC=com) is a good candidate for
this role. If all domain controllers in this domain are Global Catalogs, then there are no
Infrastructure Update tasks to complete, and this message may be ignored.
278
The error message is generated after another domain controller is installed in the domain. This
is most likely to occur on the first domain controller in the forest because it holds all five
FSMO roles and is also a Global Catalog server.
You can resolve this issue in two ways:
• Transfer the Infrastructure FSMO role to another domain controller in the domain.
• Enable another domain controller in the forest to be the Global Catalog server and dis-
able this computer from being a Global Catalog server.
RID Error
If you notice the following event occurring frequently in the NTDS event log, you may have a
RID master role issue:
Event 1655
MessageId=0x410A
SymbolicName=SAMMSG_RID_INIT_FAILURE
Language=English
Here, the account-identifier allocator failed to initialize properly. The record data contains the
NT error code that caused the failure. Windows 2000 will retry the initialization until it suc-
ceeds; until that time, account creation will be denied on this domain controller. Be sure to
look for other SAM event logs that may indicate the exact reason for the failure.
This error may occur if the RID master FSMO is offline or is experiencing replication prob-
lems. The issue is that the domain controller cannot initialize the RID pool.
In this situation, you should verify that the RID master FSMO is online and then check the
NTDS event log for any details indicating replication issues before looking into seizing the
FSMO role.
Summary
Flexible Single-Master Operations are dedicated roles assigned to specific Windows 2000
domain controllers in an enterprise. Of the five total roles, two are per-forest roles (schema and
domain naming), and three are per-domain roles (RID, PDC, and infrastructure). The two per-
forest roles need to be placed on the same domain controller, and the three other roles can go
on another domain-specified controller. It is recommended that per-domain roles be hosted on
the same domain controller, but the infrastructure role may be transferred if loads affect perfor-
mance. Roles may be transferred, but you should avoid seizures because domain controllers
hosting certain roles that have been seized cannot come back online.
Active Directory Reliability CHAPTER
10
and Optimization
IN THIS CHAPTER
• Utilities 280
Because Active Directory is such a critical piece to your Windows 2000 implementation, mak-
ing it as reliable and optimal as possible is imperative. Also, because AD is a mission-critical
component of your Windows 2000 architecture, integrating a solid backup and recovery strat-
egy into your environment is imperative. This chapter addresses Active Directory backup and
restore, as well as optimization and monitoring.
Utilities
The GUI utility, appropriately called Backup, backs up and restores Active Directory. Backup
can perform live backups. The command-line utility called Ntdsutil (addressed in previous
chapters) partners with Backup to provide more granular control over Active Directory
restores.
The System State data on a domain controller consists of the following files:
• The system startup files and Registry
• The class registration database of COM+
• The File Replication Service (the SYSVOL directory)
• The Certificate Services database (if installed)
• The Domain Name System (if installed)
• The Cluster service (if installed)
• Active Directory
Active Directory includes the following files:
• Ntds.dit—The Active Directory database
• Edb.chk—The checkpoint file
• Edb*.log—The transaction logs, each 10MB in size
• Res1.log and Res2.log—Reserved transaction logs
NOTE
Active Directory cannot be backed up without the System State data.
NOTE
To back up the System State data, you must be either a Backup Operator or an
Administrator.
10
RELIABILITY AND
OPTIMIZATION
282
FIGURE 10.1
The Backup Wizard screen.
You can access advanced backup options by clicking Advanced on the final wizard screen. The
advanced options include configuration options for data verification, hardware compression,
media labels, job appending, and scheduling.
Although we only backed up the System State data in the example, you should consider back-
ing up all data on your domain controller. For disaster recovery, backing up all local and
mapped drives in addition to the System State data is recommended. You can do so by running
the Backup utility and choosing Back Up Everything on My Computer on the What to Back
Up screen found in Backup Wizard.
Active Directory Reliability and Optimization
283
CHAPTER 10
To back up System State data manually by using the GUI, perform the following steps:
1. On the Start menu, click Run and then type Ntbackup.
2. On the Backup tab, click the check box next to System State under My Computer.
3. In the Backup Destination box, choose File or the type of media you want to use to save
the System State data.
4. Enter a tape or filename in the Backup Media or File Name box.
5. Click Start Backup, edit any backup job information that you want to, and then click
Start Backup again. You should then see something like Figure 10.2.
FIGURE 10.2
Backup-in-progress screen.
NOTE
System State data does not contain Active Directory unless the server on which you’re
backing up System State data is a domain controller.
You must perform a backup on every domain controller in your enterprise to entirely back up
Active Directory because you cannot back it up on a remote computer. This is a limitation of
the Windows 2000 Backup utility. As a result, you may also want to consider using a third-
party backup program to remotely back up and restore Active Directory. 10
RELIABILITY AND
OPTIMIZATION
Scheduling Backups
You can design a backup schedule by using the Backup utility. It can be found under the
Advanced option on the final wizard screen in the Backup Wizard. On the fifth and final win-
dow of the advanced options, you can schedule backups (see Figure 10.3).
284
NOTE
You must be a member of the Domain Admins or Backup Operators group to sched-
ule backups.
FIGURE 10.3
Scheduling backups in the Advanced Options Wizard.
You can also view and schedule backups by clicking the Schedule Jobs tab in the Backup
utility.
NOTE
To restore System State data, you must be a Local Administrator.
NOTE
Any directory updates that occurred after the backup was created are applied after
the restore as part of the normal replication process.
Replication rebuilds the data for the updates that originated on the restored domain controller
between the time the domain controller was last backed up and when it was restored from
backup.
NOTE
When you restart the computer in Directory Services Restore Mode, you must log on
to the local computer as the Directory Services Restore Mode Administrator. You must
use the administrator logon name and the Directory Services Restore Mode password
set during the installation of Active Directory. You must use this account because local
users and group accounts are never available on a domain controller, and because the
netlogon service stops during safe-mode boot and account verification cannot occur
for Active Directory accounts.
Active Directory Reliability and Optimization
287
CHAPTER 10
When the domain controller is offline, you can restore the System State data by using the
Restore Wizard in the Backup utility as follows:
1. On the Start menu, click Run and then type Ntbackup.
2. On the Tools menu, click Restore Wizard.
3. Click Next, select the appropriate backup set for the restore, select System State, and
then click Next.
4. Click Finish.
The System State data is restored to the system root by default, and replaces existing System
State data on the domain controller. You can elect to change the restore locations by setting
advanced restore options on the last screen of the Restore Wizard and then selecting the new
location.
NOTE
When you restore the System State data, the location of your system root must be
the same as when you backed up the System State data. If you choose an alternate
location for restoring the System State data, only the system boot files, Registry files,
and SYSVOL directory files are restored. Other database files and services are not
restored.
Because the Backup utility restores the database and Registry settings, when it restores Active
Directory, the Internet Protocol (IP) configuration is also restored. Additionally, the Domain
Name System (DNS), the Certificate Services database files, and File Replication Service
(FRS) are also restored.
After the restore, the File Replication Service (FRS) is reset in preparation for replication. The
Active Directory is also verified. After the server reboots in normal operational mode, it
checks Active Directory database files for consistency and re-indexes them. It also replicates
FRS data and restores the Certificate Services database.
Due to Active Directory’s association with other distributed services (such as Certificate
Services and FRS), restoring Active Directory involves many steps.
10
NOTE
RELIABILITY AND
OPTIMIZATION
Inconsistencies may result if all dependent services are not restored in the same mode
and from the same backup media.
288
Backup
DC2 DC1
Replication Partner
DC2 DC1
Replication Partner
DC1
FIGURE 10.4
Potential data loss scenario for nonauthoritative restore.
Active Directory Reliability and Optimization
289
CHAPTER 10
Also, if the domain controller begins originating new updates before receiving updates from
replication partners, either the domain controller declares itself fully up-to-date with respect to
its own changes or not up-to-date. If it considers itself up-to-date, the domain controller never
receives updates it originated after the backup; whereas if the domain controller considers
itself not up-to-date, the new updates replicate back to the domain controller.
NOTE
You can perform this procedure only immediately after you restore the domain con-
troller and before you start the domain controller in normal mode and bring it
online.
To perform advanced verification of Active Directory after a Backup utility restore, perform
the following steps:
1. Restart the computer in Directory Services Restore Mode. Press F8, and then from the
Advanced Options menu, select the Windows 2000 operating system.
2. Log on to the local administrator’s account on the server.
3. Open regedit or regedt32.
4. Locate the RestoreInProgress entry in the HKEY_LOCAL_MACHINE\SYSTEM\
CurrentControlSet\Services\NTDS subkey.
NOTE
Because the restored database is not in a valid format for Active Directory, the
Backup utility adds RestoreInProgress to the NTDS Registry subkey to make it valid. It
then reads this entry during system initialization and subsequently deletes the entry;
therefore, you should not make any changes to this key.
10
RELIABILITY AND
5. Close the Registry Editor and open Ntdsutil. Type Files and then Info. If the Active
OPTIMIZATION
Directory database files are successfully recovered, Ntdsutil displays that information
(see Figure 10.5).
6. Restart the domain controller in normal mode.
290
FIGURE 10.5
The Ntdsutil screen in Directory Services Restore Mode.
NOTE
Only the domain and configuration domain directory partitions can be marked as
authoritative. The schema cannot be authoritatively restored because it might endan-
ger data integrity.
Authoritative restore is often used in situations in which objects are inadvertently deleted from
Active Directory, and the deletions were propagated to other domain controllers. If this situa-
tion occurs, you can make an authoritative restore from a backup created prior to the object
deletion.
Active Directory Reliability and Optimization
291
CHAPTER 10
After the domain controller is restored, but before the domain controller is restarted, you
designate the deleted objects as authoritative. This way, when you bring the domain controller
online, those objects are replicated to the other domain. Because the authoritatively restored
objects have a higher version number, previously deleted objects are ignored during replica-
tion.
NOTE
Objects you created after the backup was restored—but before replication—are not
affected by an authoritative restore.
You should use the authoritative restore feature of Ntdsutil sparingly because it restores the
directory to an earlier state, causing the loss of any updates made after the saved state.
authoritative restore
NOTE
Ntdsutil opens the Ntds.dit file, increases version numbers, counts the records that 10
need updating, verifies the number of records updated, and reports completion. If
RELIABILITY AND
OPTIMIZATION
NOTE
Certain Active Directory objects such as OUs, domains, and site objects may have
group policies as well, which are stored in the SYSVOL directory.
SYSVOL directory. To ensure the proper elements are authoritatively restored, use the
following process:
1. Back up the System State data by using the Backup utility.
2. Restart the computer in Directory Services Restore Mode.
3. Restore the System State data to its original location and to an alternate location.
4. By using Ntdsutil, separately mark specific Active Directory objects as authoritative.
5. Restart the computer in normal mode.
6. After the SYSVOL share is published, copy only policy folders (identified by the GUID)
corresponding to the restored Policy objects from the alternate location over the existing
ones.
NOTE
Make sure you copy the SYSVOL and policy data from the alternate location after the
SYSVOL share is published.
Publishing the SYSVOL share may take several minutes because it needs to synchronize with
its replication partners.
When an object is deleted, a tombstone attribute for the object is replicated to all
DC’s, as discussed in Chapter 8, “Managing Sites, Replication, and Network Traffic.”
This can lead to problems when attempting to restore active directory objects from a
backup. For example, suppose the domain contains three DC’s: DC1, DC2, DC3. An
administrator accidentally deletes an OU containing 2000 users objects on DC1. The
OU will disappear from the AD console and be tombstoned for replication with DC2
and DC3. On the next replication cycle, all three DC’s will have the tombstone for the
OU. The administrator realizes the mistake and pulls out his backup tape from
the previous night. He successfully restores the OU and reboots his DC to complete
the restore process. After restarting the DC the administrator opens AD users and
computers expecting to see the restored OU but does not. The reason is because of
the tombstones on the replication partners. When a DC starts up, it will initiate
replication with its configured partners to ensure that it has consistent data in its
database. In this case DC2 or DC3 would have replicated the tombstone for the OU 10
back to DC1.
RELIABILITY AND
OPTIMIZATION
NOTE
Be very selective when you choose objects to authoritatively restore. You should
restore only those portions of the domain directory partition critical to your business
needs.
The more data you restore, the greater the opportunity to affect one of these situations.
Use the Active Directory Domains and Trusts snap-in to reset Windows 2000 trust relationship
passwords and the Active Directory Users and Computers snap-in to reset the computer
account passwords. You can also use the Netdom command-line utility to reset trust relation-
ship and computer account passwords.
Active Directory Reliability and Optimization
295
CHAPTER 10
System Monitor
The System Monitor utility enables you to monitor and collect performance data in real-time
charts or reports and stores the data in logs. System Monitor also enables you to generate alerts
to warn you when critical events occur. This information is classified as a performance object
by the component (which can be a service, computer, or mechanism) creating the data. When
you monitor Active Directory, you monitor the activity reported by the Windows NT Directory
Services (NTDS) performance object.
To launch System Monitor, click Start, Programs, Administrative Tools, Performance in
Administrative Tools (see Figure 10.6).
The first step in monitoring your system performance is to determine what you want or need to
monitor. All the performance statistics associated with Windows 2000 can be categorized in
three areas:
• Objects—Collections of various performance statistics that you can observe in System
Monitor. The key object for Active Directory performance is NTDS. You’ll learn more
about NTDS monitoring in a moment.
• Counters—The actual parameters (grouped inside an object) that are measured by
System Monitor. An example of a counter is % Processor Time, which tracks one type of 10
information about the Processor Object.
RELIABILITY AND
OPTIMIZATION
FIGURE 10.6
The System Monitor console.
To determine whether a server is receiving and applying directory replication updates effec-
tively, select counters from the NTDS object. The DRA Pending Replication Synchronizations
counter from the NTDS object monitors the number of directory synchronizations queued for a
server that remain to be processed.
NTDS Object
The NTDS object contains performance counters that provide statistics about Active Directory
performance. For example, several counters are associated with the Directory Replication
Agent (DRA), which monitors replication activity. Due to the numerous performance counters
available for DRA, you need to identify the critical objects you need to monitor first.
Active Directory Reliability and Optimization
297
CHAPTER 10
The NTDS object counters that assist with monitoring Active Directory fall into several cate-
gories (alphabetically as follows):
• Address Book (AB)
• Directory Replication Agent (DRA)
• Directory Service (DS)
• Key Distribution Center (KDC)
• Lightweight Directory Access Protocol (LDAP)
• NTLM Authentications (from down-level clients)
• Security Accounts Manager (SAM)
• Extended Directory Services (XDS)
The portions of Active Directory you are looking to monitor will determine the counters you
will select. The scope of each counter for each object is beyond the scope of this chapter (and
book, for that matter). The best way to learn about the various counters is to add them to the
System Monitor and view them graphically as a chart or save it in a log file.
Let’s look at adding counters to the NTDS object.
NOTE
Local monitoring may affect the results and the performance of the machine whose
performance you are measuring, but will conserve network bandwidth. It is recom-
mended that monitoring of a machine take place from a remote workstation when
network bandwidth is not an issue.
10
RELIABILITY AND
NOTE
To monitor objects other than NTDS, select them from the Performance Object list.
NTDS is a commonly monitored object for Active Directory performance, so it is
selected for this example.
5. In the Select Counters from List field, select the counters you want to use for monitoring
(see Figure 10.7). You may select multiple counters by holding down the shift or control
keys while selecting with your mouse pointer.
6. Click Add and then Close after you have added all the necessary counters.
CAUTION
The more counters you add to System Monitor, the more the domain controller’s
performance is affected. Therefore, selecting the All Counters radio button greatly
affects server performance and is not a practical solution.
FIGURE 10.7
Adding counters to System Monitor.
If you need to get more detailed information about the various counters, perform the following
steps:
1. Open Performance.
2. Right-click the System Monitor details pane and click Add Counters (or the + icon at the
top of the pane).
3. In the Performance Object field, select an object.
4. In the Select Counters from List field, select a counter.
5. Click Explain.
You can now select any object and counter to get more information. Click Add or Close to exit
this option.
Database Object
The Database object relates to the Extensible Storage Engine (ESENT), the transacted database
system that stores all Active Directory objects. This performance object is not installed by
default, and you cannot automatically install the performance dynamic link library (DLL),
Esentprf.dll, in Windows 2000.
To load the Database object, perform the following steps:
1. Copy the performance DLL (Esentprf.dll) located in <SystemRoot>\System32 to another
directory.
2. Run Regedt32.exe or Regedit.exe, and make sure that the following Registry subkeys
exist:
10
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ESENT
RELIABILITY AND
OPTIMIZATION
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ESENT\Performance
3. Make sure that, under the Performance subkey, Registry values with the following set-
tings exist:
data type REG_SZ : OpenPerformanceData
data type REG_SZ : CollectPerformanceData
data type REG_SZ : ClosePerformanceData
data type REG_SZ : c:\perf\esentprf.dll
To view the counters for the Database object, restart System Monitor.
FIGURE 10.8
The Explain feature in the Performance utility.
The counters that you selected appear in the lower part of the screen. System Monitor displays
each counter in a unique color.
When you’re creating a monitoring console for export, make sure to select Use Local
Computer Counters. Otherwise, System Monitor obtains data from the computer named in the
text box, regardless of the place where the console file is installed.
NOTE
When creating a monitoring console for export, you may choose local computer
counters or counters from a remote system you wish to monitor. If you choose a
remote machine to monitor, System Monitor obtains data from the computer named
in the text box, regardless of where the console file is installed.
Choosing to remotely monitor may be preferred depending on your available net-
work bandwidth and whether you keep the console as part of your roaming profile.
events such as network logons, authentications, LDAP operations, and SAM operations, and it
also records the CPU time, timestamp, and thread identifier. You can enable or disable trace
logging by using the Performance Logs and Alerts utility. To produce transaction-level costing
information trace data, you must use the trace application programming interfaces (APIs).
302
Counter Logs
Counter logs track performance of objects, counters, and instances in System Monitor based on
time intervals. These statistics are saved to a file for you to analyze later.
To create a counter log, perform the following steps:
1. Open Performance in Administrative Tools.
2. Double-click Performance Logs and Alerts and then click Counter Logs. If you have pre-
viously existing logs, they appear in the details pane.
NOTE
A green icon indicates that the log is running. A red icon on the log indicates that it
has been stopped.
FIGURE 10.9
Creating a counter log to monitor processor utilization.
Active Directory Reliability and Optimization
303
CHAPTER 10
To create or modify a log, you must have Full Control permission for the following Registry
key, which controls the Performance Logs and Alerts service:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SysmonLog\Log Queries
Administrators usually have this permission by default. Administrators can grant permission to
users by using the Security menu in Regedt32.exe.
To run the service (which runs in the background when you configure a log), you must have
permission to start or otherwise configure services on the system. Administrators have this
right by default and can grant it to users by using Group Policy.
To add counters to a log, perform the following steps:
1. Open Performance in Administrative Tools.
2. Double-click Performance Logs and Alerts and then click Counter Logs.
3. In the details pane, double-click the name of the log you want to modify.
4. On the General tab, click Add.
5. In the Performance Object field, select the desired object.
6. In the Select Counters from List field, select the counters you want to use for
monitoring.
7. Click Add and then Close after you have added all the necessary counters.
Trace Logs
Trace logs track performance of objects, counters, and instances in System Monitor based on
system events. Unlike counter logs, these logs are based on specific events as opposed to
times; therefore, these logs may not be effective if you are troubleshooting sporadic issues.
To create a trace log, perform the following steps:
1. Open Performance.
2. Double-click Performance Logs and Alerts and then click Trace Logs.
3. Right-click in the details pane or on the trace log name in the console pane; then click
New Log Settings.
4. In the Name box, input the trace log name and click OK.
The trace log file is created in the PerfLogs folder in your root directory. A sequence number
and the .etl extension are attached to the file. Use the Log Files and Advanced tabs to modify 10
these parameters or define other parameters for your log. To define providers and events to log,
RELIABILITY AND
OPTIMIZATION
use the General tab (see Figure 10.10). To specify when you want logging to occur, use the
Schedule tab.
304
FIGURE 10.10
Creating a trace log to monitor processor utilization.
To define trace log providers and events, perform the following steps:
1. Open Performance In Administrative Tools.
2. Double-click Performance Logs and Alerts and then click Trace Logs.
3. In the details pane, double-click the name of the log.
4. Click Provider Status for a list of the installed providers and their status (enabled or not).
The Nonsystem Providers option is selected by default to minimize trace-logging over-
head.
5. If you click Events Logged by System Provider, a default provider (the Windows kernel
trace provider) will monitor processes, threads, and other activity. To define events for
logging, click the check boxes as appropriate.
6. If you click Nonsystem Providers, you can select the data providers you want—for
example, if you have written your own providers. Use the Add or Remove buttons as
needed.
To define trace log buffers, perform the following steps:
1. Open Performance.
2. Double-click Performance Logs and Alerts and click Trace Logs.
3. In the details pane, double-click the name of the log.
4. Click the Advanced tab.
5. In the Buffer Size box, specify the size of buffer in kilobytes you want to use for trace
data.
Active Directory Reliability and Optimization
305
CHAPTER 10
6. In the Minimum box, specify the smallest number of buffers you want used for trace
data.
7. In the Maximum box, specify the largest number of buffers you want used for trace data.
8. To have the trace provider periodically flush the buffers, select the Transfer Data from
Buffers to Log File Every check box and specify the transfer interval in seconds.
Alerts
Alerts allow you to define a counter value that is deemed unacceptable based on your estab-
lished baseline values. Alerts can trigger actions such as sending a network message, running a
program, or starting a log. Alerts are useful when you want to be notified if a particular
counter threshold value exceeds or falls below a specified value. You can then take action to
resolve the variance.
To create an alert, perform the following steps:
1. Open Performance.
2. Double-click Performance Logs and Alerts and then click Alerts.
3. Right-click in the details pane and click New Alert Settings.
4. In the Name box, input the alert name and click OK.
5. To define a comment for your alert, along with counters, alert thresholds, and the sample
interval, use the General tab (see Figure 10.11). To define actions that should occur when
counter data triggers an alert, use the Action tab, and to define when the service should
begin scanning for alerts, use the Schedule tab.
10
RELIABILITY AND
OPTIMIZATION
FIGURE 10.11
Creating an alert when processor utilization exceeds 50% over a two-hour period.
306
To define counters and thresholds for an alert, perform the following steps:
1. Open Performance.
2. Double-click Performance Logs and Alerts and then click Alerts.
3. In the details pane, double-click the name of the alert.
4. In the Comment box, type a comment to describe the alert as needed.
5. Click Add.
6. For each counter or group of counters that you want to add to the log, add the perfor-
mance objects, counters, or instances as described previously. Then click Add.
7. In the Alert When the Value Is box, specify Under or Over, and in the Limit box, specify
the value that triggers the alert.
8. In the Sample Data Every box, specify the amount and the unit of measure for the update
interval.
9. Complete the alert configuration using the Action and Schedule tabs.
To define actions for an alert, perform the following steps:
1. Open Performance in Administrative Tools.
2. Double-click Performance Logs and Alerts and then click Alerts.
3. In the details pane, double-click the name of the alert.
4. Click the Action tab.
5. To have the Performance Logs and Alerts service create an entry visible in Event Viewer,
select Log an Entry in the Application Event Log.
6. To have the service trigger the messenger service to send a message, select Send a
Network Message To and type the name of the computer on which the alert message
should be displayed.
7. To run a counter log when an alert occurs, select Start Performance Data Log and specify
the counter log you want to run.
8. To have a program run when an alert occurs, select Run This Program and type the file
path and name or click Browse to locate the file. When an alert occurs, the service
creates a process and runs the specified command file. The service also copies any
command-line arguments you define to the command line that is used to run the file.
Click Command Line Arguments and select the appropriate check boxes for arguments
to include when the program is run.
Active Directory Reliability and Optimization
307
CHAPTER 10
NOTE
Consider available disk space and any disk quotas because you may encounter errors
(such as STOP screen errors) if your disk runs out of disk space because of logging.
7. Complete the properties as appropriate for logs or alerts (such as circular, or continuous
logging).
Task Manager
Task Manager provides information about applications currently running on your system, the
processes and memory usage or other data about those processes, and statistics about memory
and processor performance.
Although useful as a quick reference to system operation and performance, Task Manager does
not possess the logging and alert capabilities of the Performance console. Task Manager also 10
does not have access to the scope of information available from all installed counters.
RELIABILITY AND
OPTIMIZATION
However, Task Manager provides capabilities not available with the Performance console, such
as the capability to stop processes that are currently running on the system, change the base
priority of a process, and set affinity (on multiprocessor systems) for a process to a particular
processor.
308
FIGURE 10.12
The Performance tab in Task Manager.
Task Manager also includes physical memory allocation as well as information on handles,
processes, and threads running on your server.
Active Directory Reliability and Optimization
309
CHAPTER 10
Event Logs
Using the event logs in Event Viewer, you can gather information about hardware, software,
and system problems, and you can monitor Windows 2000 security events.
Windows 2000 provides the Event Viewer snap-in as a way to monitor system events, such as
application or system errors and the verification of running services. These events are recorded
in event logs. For example, if you need detailed information about the times directory parti-
tions are replicated, you would use Event Viewer to study the event log.
Also, if you suspect any problem with the directory operation, such as information not being
replicated, it is recommended that you first investigate the event logs to determine the cause of
the problem. By using information from the event logs, you can better understand the sequence
and types of events that led to the performance problem.
Just like in Windows NT 4.0, Windows 2000 records events in three types of logs:
• Application—Contains events logged by applications or programs. For example, a Web
program would record a file error in the application log. The program developer decides
which events to record.
• System—Contains events logged by Windows 2000. For example, a driver issue would
be recorded in the system log. The event types logged by system components are prede-
termined by Windows 2000.
• Security—Records security events such as valid and invalid logon attempts as well as
events related to resource use such as creating, opening, or deleting files. By enabling
auditing, you can specify which events are recorded in the security log.
Event Viewer (as shown in Figure 10.13) displays the following types of events:
• Error
• Warning
• Information
• Success Audit
• Failure Audit
The EventLog service starts automatically when you start Windows 2000. All users can view
application and system logs. Only administrators can gain access to security logs.
10
RELIABILITY AND
OPTIMIZATION
310
FIGURE 10.13
The Event Viewer utility.
You can open the Event Viewer by double-clicking the Event Viewer icon in Administrative
Tools.
By default, security logging is turned off. You can use Group Policy to enable security logging
(see Chapter 6, “Administering Group Policy,” for more details). The administrator can also set
auditing policies in the Registry that cause the system to halt when the security log is full.
Network Monitor
You use Network Monitor (see Figure 10.14) to capture and display the frames (also called
packets) running between Windows 2000 computers on your local area network. You also can
use Network Monitor to detect and troubleshoot networking problems. The frames you capture
in Network Monitor can be saved to a file for further analysis.
Microsoft Systems Management Server (SMS) includes a full version of Network Monitor. In
addition to the functionality in Windows 2000 Network Monitor, Systems Management Server
Network Monitor can capture frames sent to and from all computers in a network segment, as
well as edit and transmit frames.
Active Directory Reliability and Optimization
311
CHAPTER 10
FIGURE 10.14
The Network Monitor interface.
If you did not install Network Monitor during the Windows 2000 setup, you can install it by
performing the following steps:
1. Open Add/Remove Programs from Control Panel.
2. In Add/Remove Programs, click Add/Remove Windows Components.
3. In the Windows Components Wizard, select Management and Monitoring Tools and then
click Details.
4. In the Management and Monitoring Tools window, select the Network Monitor check
box and then click OK.
5. If you are prompted for additional files, insert your Windows 2000 Server CD or select
the appropriate network path to the files.
You can install the Network Monitor driver only on Windows 2000 computers. Network
Monitor drivers for operating systems other than Windows 2000 are available in Microsoft
Systems Management Server.
10
To capture network frames, perform the following steps:
RELIABILITY AND
OPTIMIZATION
NOTE
Although the Windows 2000 Network Monitor may assist to some degree with net-
work monitoring, using the version that comes with Microsoft Systems Management
Server is recommended if you are seeking high-level monitoring.
Summary
This chapter described the importance of maintaining Active Directory reliability with the
Backup utility and Ntdsutil for backups and restores. You looked at some of the caveats of
using the Windows 2000 built-in Backup utility and the need to consider third-party utilities
for enhanced features. You also looked at monitoring Active Directory performance with MMC
snap-ins and the Performance tool, which includes System Monitor and the logs and alert files.
Common Active Directory APPENDIX
A
Utilities
IN THIS APPENDIX
• ADSI (Active Directory Service Interface) 314
• Movetree 319
314
NOTE
ADSI must be installed from the Windows 2000 Server CD before it can be added to
an MMC console.
The following example uses a Visual Basic script to show all objects in a given organizational
unit:
Set ou = GetObject(“LDAP://dc1/OU=Sales, DC=kevinkocis,DC=COM”)
For each obj in ou
Debug.Print obj.Name
Next
COMMON ACTIVE
DIRECTORY
-i Specifies import mode. The default mode is
UTILITIES
export.
-f filename Identifies the import or export filename.
-s server name Specifies the domain controller to perform
the operation.
-c string1 string2 Replaces all occurrences of string1 with
string2. Replaces the distinguished name
of the export domain with that of the import
domain when you’re importing data from
one domain to another.
-v Sets verbose mode.
-j path Sets the log file location. The default is the
current path.
-t port number Specifies an LDAP port number. The default
is port 389; the global catalog port is 3268.
-d baseDN Sets the distinguished name of the search
base for data export.
-r LDAP-filter Creates an LDAP search filter for data
export.
-p scope Sets the search scope; may be one of Base,
OneLevel, or SubTree.
-l LDAP-attribute-list Sets the list of attributes to return in the
results of an export query. If this parameter
is omitted, all attributes are returned. For
example, to retrieve only the distinguished
name, common name, first name, surname,
and telephone number of the returned
objects, you would specify the following
attribute list:
-l “distinguishedName, cn, givenName,
sn, telephone”
-o Sets the list of attributes to be omitted from
the results of an export query. You typically
use this parameter when you’re exporting
objects from the Active Directory and then
importing them into another LDAP-
compliant directory that does not support all
of Active Directory’s attributes.
316
NOTE
CSVDE can be run on a Windows 2000 server or copied to a Windows 2000
Professional workstation.
COMMON ACTIVE
DIRECTORY
-i Specifies import mode. The default mode is export.
UTILITIES
-f filename Identifies the import or export filename.
-s server name Specifies the domain controller to perform the operation.
-c string1 string2 Replaces all occurrences of string1 with string2. Replaces
the distinguished name of the export domain with that of the
import domain when you’re importing data from one domain
to another.
-v Sets verbose mode.
-t port number Specifies an LDAP port number. The default is port 389; the
global catalog port is 3268.
-? Displays online help.
The command to import this file from the current directory is as follows:
Ldifde –I –f import.ldf –v
Common Active Directory Utilities
319
APPENDIX A
Movetree A
COMMON ACTIVE
Location: Windows 2000 Server Resource Kit.
DIRECTORY
UTILITIES
Function: A command-line utility that allows you to move users, groups, and organizational
units from one domain to another in the same forest.
NOTE
The source domain can be mixed or native, but the target domain must be a
Windows 2000 native domain.
Movetree Syntax
The syntax used with the Movetree command tool is shown here. Table A.5 further explains
the parameters in the syntax line.
Movetree [/start | /continue] [/s SrcDSA] [/d DstDSA] [/sdn SrcDN] [/ddn DstDN]
➥[/u Domain\Username] [/p Password] [/quiet]
A
-a parameter
CSVDE (Comma-Separated Value Directory
Exchange), 316
LDIFDE (LDAP Data Interchange Format
Directory Exchange), 318
A (address) resource records, 73
abstract classes, 211
access control, 168-169
Access Control Entries (ACEs), 109, 156
Access Control Lists. See ACLs
access tokens, 108, 156
account policies (special policies), 194
accounts
computer
adding to groups, 134
creating, 133
deleting, 134
disabling, 136
DNS (Domain Name System) names,
137-138
editing, 135
accounts
322