Active Directory Cookbook, Second Edition
By
Robbie Allen,
Laura E. Hunter
June 2006
Pages: 991
| Table of Contents
| Index
| Sample Chapter
| Colophon
Table of Contents
-
Chapter 1 Getting Started
-
Approach to the Book
-
Where to Find the Tools
-
Getting Familiar with LDIF
-
Programming Notes
-
Replaceable Text
-
Where to Find More Information
-
Chapter 2 Forests, Domains, and Trusts
-
Introduction
-
Creating a Forest
-
Removing a Forest
-
Creating a Domain
-
Removing a Domain
-
Removing an Orphaned Domain
-
Finding the Domains in a Forest
-
Finding the NetBIOS Name of a Domain
-
Renaming a Domain
-
Raising the Domain Functional Level to Windows 2000 Native Mode
-
Raising the Functional Level of a Windows Server 2003 Domain
-
Raising the Functional Level of a Windows Server 2003 Forest
-
Using AdPrep to Prepare a Domain or Forest for Windows Server 2003
-
Determining WhetherAdPrep Has Completed
-
Checking Whether a Windows 2000 Domain Controller Can Be Upgraded to Windows Server 2003
-
Creating an External Trust
-
Creating a Transitive Trust Between Two AD Forests
-
Creating a Shortcut Trust Between Two AD Domains
-
Creating a Trust to a Kerberos Realm
-
Viewing the Trusts for a Domain
-
Verifying a Trust
-
Resetting a Trust
-
Removing a Trust
-
Enabling SID Filtering for a Trust
-
Enabling Quarantine for a Trust
-
Managing Selective Authentication for a Trust
-
Finding Duplicate SIDs in a Domain
-
Adding Additional Fields to Active Directory Users and Computers
-
Chapter 3 Domain Controllers, Global Catalogs, and FSMOs
-
Introduction
-
Promoting a Domain Controller
-
Promoting a Domain Controller from Media
-
Verifying the Promotion of a Domain Controller
-
Demoting a Domain Controller
-
Automating the Promotion or Demotion of a Domain Controller
-
Troubleshooting Domain Controller Promotion or Demotion Problems
-
Removing an Unsuccessfully Demoted Domain Controller
-
Renaming a Domain Controller
-
Creating an NT 4.0 BDC Object
-
Finding the Domain Controllers for a Domain
-
Finding the Closest Domain Controller
-
Finding a Domain Controller's Site
-
Moving a Domain Controller to a Different Site
-
Finding the Services a Domain Controller Is Advertising
-
Restoring a Deleted Domain Controller
-
Resetting the TCP/IP Stack on a Domain Controller
-
Configuring a Domain Controller to Use an External Time Source
-
Finding the Number of Logon Attempts Made Against a Domain Controller
-
Enabling the /3GB Switch to Increase the LSASS Cache
-
Enabling the /PAE switch to Increase the Amount of Addressable RAM
-
Cleaning Up Distributed Link Tracking Objects
-
Enabling and Disabling the Global Catalog
-
Determining Whether Global Catalog Promotion Is Complete
-
Finding the Global Catalog Servers in a Forest
-
Finding the Domain Controllers or Global Catalog Servers in a Site
-
Finding Domain Controllers and Global Catalogs via DNS
-
Changing the Preference for a Domain Controller
-
Disabling the Global Catalog Requirement During a Windows 2000 or Windows Server 2003 Domain Login
-
Enabling Universal Group Caching in Windows Server 2003
-
Finding the FSMO Role Holders
-
Transferring a FSMO Role
-
Seizing a FSMO Role
-
Finding the PDC Emulator FSMO Role Owner via DNS
-
Finding the PDC Emulator FSMO Role Owner via WINS
-
Chapter 4 Searching and Manipulating Objects
-
Introduction
-
Viewing the RootDSE
-
Viewing the Attributes of an Object
-
Counting Objects in Active Directory
-
Using LDAP Controls
-
Using a Fast or Concurrent Bind
-
Connecting to an Object GUID
-
Connecting to a Well-Known GUID
-
Searching for Objects in a Domain
-
Searching the Global Catalog
-
Searching for a Large Number of Objects
-
Searching with an Attribute-Scoped Query
-
Searching with a Bitwise Filter
-
Creating an Object
-
Modifying an Object
-
Modifying a Bit Flag Attribute
-
Dynamically Linking an Auxiliary Class
-
Creating a Dynamic Object
-
Refreshing a Dynamic Object
-
Modifying the Default TTL Settings for Dynamic Objects.
-
Moving an Object to a Different OU or Container
-
Moving an Object to a Different Domain
-
Referencing an External Domain
-
Renaming an Object
-
Deleting an Object
-
Deleting a Container That Has Child Objects
-
Viewing the Created and Last Modified Timestamp of an Object
-
Modifying the Default LDAP Query Policy
-
Exporting Objects to an LDIF File
-
Importing Objects Using an LDIF File
-
Exporting Objects to a CSV File
-
Importing Objects Using a CSV File
-
Chapter 5 Organizational Units
-
Introduction
-
Creating an OU
-
Enumerating the OUs in a Domain
-
Finding an OU
-
Enumerating the Objects in an OU
-
Deleting the Objects in an OU
-
Deleting an OU
-
Moving the Objects in an OU to a Different OU
-
Moving an OU
-
Renaming an OU
-
Modifying an OU
-
Determining Approximately How Many Child Objects an OU Has
-
Delegating Control of an OU
-
Assigning or Removing a Manager for an OU
-
Allowing OUs to Be Created Within Containers
-
Linking a GPO to an OU
-
Chapter 6 Users
-
Introduction
-
Modifying the Default Display Name Used When Creating Users in ADUC
-
Creating a User
-
Creating a Large Number of Users
-
Creating an inetOrgPerson User
-
Converting a user Object to an inetOrgPerson Object (or Vice Versa)
-
Modifying an Attribute for Several Users at Once
-
Setting a User's Profile Attributes
-
Moving a User
-
Redirecting Users to an Alternative OU
-
Renaming a User
-
Copying a User
-
Finding Locked Out Users
-
Unlocking a User
-
Troubleshooting Account Lockout Problems
-
Viewing the Account Lockout and Password Policies
-
Enabling and Disabling a User
-
Finding Disabled Users
-
Viewing a User's Group Membership
-
Removing All Group Memberships from a User
-
Changing a User's Primary Group
-
Transferring a User's Group Membership to Another User
-
Setting a User's Password
-
Setting a User's Password via LDAP
-
Setting a User's Password from Unix
-
Preventing a User from Changing Her Password
-
Requiring a User to Change His Password at Next Logon
-
Preventing a User's Password from Expiring
-
Finding Users Whose Passwords Are About to Expire
-
Setting a User's Account Options (userAccountControl)
-
Setting a User's Account to Expire
-
Finding Users Whose Accounts Are About to Expire
-
Determining a User's Last Logon Time
-
Finding Users Who Have Not Logged On Recently
-
Viewing a User's Permitted Logon Hours
-
Viewing a User's Managed Objects
-
Creating a UPN Suffix for a Forest
-
Chapter 7 Groups
-
Introduction
-
Creating a Group
-
Viewing the Permissions of a Group
-
Viewing the Direct Members of a Group
-
Viewing the Nested Members of a Group
-
Adding and Removing Members of a Group
-
Moving a Group Within a Domain
-
Moving a Group to Another Domain
-
Changing the Scope or Type of a Group
-
Modifying Group Attributes
-
Creating a Dynamic Group
-
Delegating Control for Managing Membership of a Group
-
Resolving a Primary Group ID
-
Enabling Universal Group Membership Caching
-
Restoring a Deleted Group
-
Chapter 8 Computers
-
Introduction
-
Creating a Computer
-
Creating a Computer for a Specific User or Group
-
Joining a Computer to a Domain
-
Moving a Computer Within the Same Domain
-
Moving a Computer to a New Domain
-
Renaming a Computer
-
Add or Remove a Computer Account from a Group
-
Testing the Secure Channel for a Computer
-
Resetting a Computer Account
-
Finding Inactive or Unused Computers
-
Changing the Maximum Number of Computers a User Can Join to the Domain
-
Modifying the Attributes of a Computer Object
-
Finding Computers with a Particular OS
-
Binding to the Default Container for Computers
-
Changing the Default Container for Computers
-
Listing All the Computer Accounts in a Domain
-
Identifying a Computer Role
-
Chapter 9 Printers and Shared Folders
-
Introduction
-
Installing the Print Server Role
-
Creating a Printer Filter
-
Managing Printer Drivers
-
Deploying Printers Through Group Policy
-
Publishing Printers in Active Directory
-
Installing the File Server Resource Manager
-
Managing Disk Quota Templates
-
Managing Disk Quotas
-
Managing Auto-Quotas
-
Modifying Quota Settings
-
Defining File Groups
-
Managing File-Screen Templates
-
Managing File Screens
-
Managing File-Screen Exceptions
-
Configuring File Server Reporting
-
Managing File Server Options
-
Chapter 10 Group Policy Objects
-
Introduction
-
Finding the GPOs in a Domain
-
Creating a GPO
-
Copying a GPO
-
Deleting a GPO
-
Viewing the Settings of a GPO
-
Modifying the Settings of a GPO
-
Importing Settings into a GPO
-
Creating a Migration Table
-
Creating Custom Group Policy Settings
-
Assigning Logon/Logoff and Startup/Shutdown Scripts in a GPO
-
Installing Applications with a GPO
-
Disabling the User or Computer Settings in a GPO
-
Listing the Links for a GPO
-
Creating a GPO Link to an OU
-
Blocking Inheritance of GPOs on an OU
-
Enforcing the Settings of a GPO Link
-
Applying a Security Filter to a GPO
-
Delegating Administration of GPOs
-
Importing a Security Template
-
Creating a WMI Filter
-
Applying a WMI Filter to a GPO
-
Configuring Loopback Processing for a GPO
-
Backing Up a GPO
-
Restoring a GPO
-
Simulating the RSoP
-
Viewing the RSoP
-
Refreshing GPO Settings on a Computer
-
Restoring a Default GPO
-
Chapter 11 Schema
-
Introduction
-
Registering the Active Directory Schema MMC Snap-in
-
Enabling Schema Updates
-
Generating an OID to Use for a New Class or Attribute
-
Generating a GUID to Use for a New Class or Attribute
-
Extending the Schema
-
Preparing the Schema for Upgrade
-
Documenting Schema Extensions
-
Adding a New Attribute
-
Viewing an Attribute
-
Adding a New Class
-
Viewing a Class
-
Indexing an Attribute
-
Modifying the Attributes That Are Copied When Duplicating a User
-
Adding Custom Information to ADUC
-
Modifying the Attributes Included with ANR
-
Modifying the Set of Attributes Stored on a Global Catalog
-
Finding the Nonreplicated and Constructed Attributes
-
Finding the Linked Attributes
-
Finding the Structural, Auxiliary, Abstract, and 88 Classes
-
Finding the Mandatory and Optional Attributes of a Class
-
Modifying the Default Security of a Class
-
Managing the Confidentiality Bit
-
Deactivating Classes and Attributes
-
Redefining Classes and Attributes
-
Reloading the Schema Cache
-
Managing the Schema Master FSMO
-
Chapter 12 Site Topology
-
Introduction
-
Creating a Site
-
Listing the Sites
-
Renaming a Site
-
Deleting a Site
-
Delegating Control of a Site
-
Configuring Universal Group Caching for a Site
-
Creating a Subnet
-
Listing the Subnets
-
Finding Missing Subnets
-
Deleting a Subnet
-
Changing a Subnet's Site Assignment
-
Creating a Site Link
-
Finding the Site Links for a Site
-
Modifying the Sites That Are Part of a Site Link
-
Modifying the Cost for a Site Link
-
Enabling Change Notification for a Site Link
-
Modifying Replication Schedules
-
Disabling Site Link Transitivity or Site Link Schedules
-
Creating a Site Link Bridge
-
Finding the Bridgehead Servers for a Site
-
Setting a Preferred Bridgehead Server for a Site
-
Listing the Servers
-
Moving a Domain Controller to a Different Site
-
Configuring a Domain Controller to Cover Multiple Sites
-
Viewing the Site Coverage for a Domain Controller
-
Disabling Automatic Site Coverage for a Domain Controller
-
Finding the Site for a Client
-
Forcing a Host into a Particular Site
-
Creating a Connection Object
-
Listing the Connection Objects for a Server
-
Load-Balancing Connection Objects
-
Finding the ISTG for a Site
-
Transferring the ISTG to Another Server
-
Triggering the KCC
-
Determining Whether the KCC Is Completing Successfully
-
Disabling the KCC for a Site
-
Changing the Interval at Which the KCC Runs
-
Chapter 13 Replication
-
Introduction
-
Determining Whether Two Domain Controllers Are in Sync
-
Viewing the Replication Status of Several Domain Controllers
-
Viewing Unreplicated Changes Between Two Domain Controllers
-
Forcing Replication from One Domain Controller to Another
-
Enabling and Disabling Replication
-
Changing the Intra-Site Replication Interval
-
Changing the Intra-Site Notification Delay
-
Changing the Inter-Site Replication Interval
-
Disabling Inter-Site Compression of Replication Traffic
-
Checking for Potential Replication Problems
-
Enabling Enhanced Logging of Replication Events
-
Enabling Strict or Loose Replication Consistency
-
Finding Conflict Objects
-
Finding Orphaned Objects
-
Listing the Replication Partners for a DC
-
Viewing Object Metadata
-
Chapter 14 DNS and DHCP
-
Introduction
-
Creating a Forward Lookup Zone
-
Creating a Reverse Lookup Zone
-
Viewing a Server's Zones
-
Converting a Zone to an AD-Integrated Zone
-
Moving AD-Integrated Zones into an Application Partition
-
Configuring Zone Transfers
-
Configuring Forwarding
-
Delegating Control of a Zone
-
Creating and Deleting Resource Records
-
Querying Resource Records
-
Modifying the DNS Server Configuration
-
Scavenging Old Resource Records
-
Clearing the DNS Cache
-
Verifying That a Domain Controller Can Register Its Resource Records
-
Enabling DNS Server Debug Logging
-
Registering a Domain Controller's Resource Records
-
Deregistering a Domain Controller's Resource Records
-
Preventing a Domain Controller from Dynamically Registering All Resource Records
-
Preventing a Domain Controller from Dynamically Registering Certain Resource Records
-
Allowing Computers to Use a Different Domain Suffix from Their AD Domain
-
Authorizing a DHCP Server
-
Locating Unauthorized DHCP Servers
-
Restricting DHCP Administrators
-
Chapter 15 Security and Authentication
-
Introduction
-
Enabling SSL/TLS
-
Encrypting LDAP Traffic with SSL, TLS, or Signing
-
Disabling LDAP Signing or Encryption
-
Enabling Anonymous LDAP Access
-
Restricting Hosts from Performing LDAP Queries
-
Restricting Anonymous Access to Active Directory
-
Using the Delegation of Control Wizard
-
Customizing the Delegation of Control Wizard
-
Revoking Delegated Permissions
-
Viewing the ACL for an Object
-
Customizing the ACL Editor
-
Viewing the Effective Permissions on an Object
-
Configuring Permission Inheritance
-
Changing the ACL of an Object
-
Changing the Default ACL for an Object Class in the Schema
-
Comparing the ACL of an Object to the Default Defined in the Schema
-
Resetting an Object's ACL to the Default Defined in the Schema
-
Preventing the LM Hash of a Password from Being Stored
-
Enabling Strong Domain Authentication
-
Enabling List Object Access Mode
-
Modifying the ACL on Administrator Accounts
-
Viewing and Purging Your Kerberos Tickets
-
Forcing Kerberos to Use TCP
-
Modifying Kerberos Settings
-
Viewing Access Tokens
-
Chapter 16 Logging, Monitoring, and Quotas
-
Introduction
-
Enabling Extended dcpromo Logging
-
Enabling Diagnostics Logging
-
Enabling NetLogon Logging
-
Enabling GPO Client Logging
-
Enabling Kerberos Logging
-
Viewing DNS Server Performance Statistics
-
Monitoring the File Replication Service
-
Monitoring the Windows Time Service
-
Enabling Inefficient and Expensive LDAP Query Logging
-
Using the STATS Control to View LDAP Query Statistics
-
Using Perfmon to Monitor AD
-
Using Perfmon Trace Logs to Monitor AD
-
Creating an Administrative Alert
-
Emailing an Administrator on a Performance Alert
-
Enabling Auditing of Directory Access
-
Enabling Auditing of Registry Keys
-
Creating a Quota
-
Finding the Quotas Assigned to a Security Principal
-
Changing How Tombstone Objects Count Against Quota Usage
-
Setting the Default Quota for All Security Principals in a Partition
-
Finding the Quota Usage for a Security Principal
-
Chapter 17 Backup, Recovery, DIT Maintenance, and Deleted Objects
-
Introduction
-
Backing Up Active Directory
-
Restarting a Domain Controller in Directory Services Restore Mode
-
Resetting the Directory Service Restore Mode Administrator Password
-
Performing a Nonauthoritative Restore
-
Performing an Authoritative Restore of an Object or Subtree
-
Performing a Complete Authoritative Restore
-
Checking the DIT File's Integrity
-
Moving the DIT Files
-
Repairing or Recovering the DIT
-
Performing an Online Defrag Manually
-
Performing a Database Recovery
-
Creating a Reserve File
-
Determining How Much Whitespace Is in the DIT
-
Performing an Offline Defrag to Reclaim Space
-
Changing the Garbage Collection Interval
-
Logging the Number of Expired Tombstone Objects
-
Determining the Size of the Active Directory Database
-
Searching for Deleted Objects
-
Undeleting a Single Object
-
Undeleting a Container Object
-
Modifying the Tombstone Lifetime for a Domain
-
Chapter 18 Application Partitions
-
Introduction
-
Creating and Deleting an Application Partition
-
Finding the Application Partitions in a Forest
-
Adding or Removing a Replica Server for an Application Partition
-
Finding the Replica Servers for an Application Partition
-
Finding the Application Partitions Hosted by a Server
-
Verifying Application Partitions Are Instantiated on a Server Correctly
-
Setting the Replication Notification Delay for an Application Partition
-
Setting the Reference Domain for an Application Partition
-
Delegating Control of Managing an Application Partition
-
Chapter 19 Active Directory Application Mode
-
Introduction
-
Installing ADAM
-
Creating a New ADAM Instance
-
Creating a New Replica of an ADAM Configuration Set
-
Stopping and Starting an ADAM Instance
-
Changing the Ports Used by an ADAM Instance
-
Listing the ADAM Instances Installed on a Computer
-
Extending the ADAM Schema
-
Managing ADAM Application Partitions
-
Managing ADAM Organizational Units
-
Managing ADAM Users
-
Changing the Password for an ADAM User
-
Enabling and Disabling an ADAM User
-
Managing ADAM Groups
-
Managing ADAM Group Memberships
-
Viewing and Modifying ADAM Object Attributes
-
Importing Data into an ADAM Instance
-
Configuring Intrasite Replication
-
Forcing ADAM Replication
-
Managing ADAM Permissions
-
Chapter 20 Interoperability and Integration
-
Introduction
-
Accessing AD from a Non-Windows Platform
-
Programming with .NET
-
Programming with DSML
-
Programming with Perl
-
Programming with Java
-
Programming with Python
-
Integrating with MIT Kerberos
-
Integrating with Samba
-
Integrating with Apache
-
Integrating with Novell Netware
-
Integrating with Macintosh
-
Replacing the Network Information Service
-
Using BIND for DNS
-
Integrating Down-level Windows Clients
-
Using VMWare for Testing AD
-
Using Virtual Server in an Active Directory Environment
-
Chapter 21 Active Directory Federation Services
-
Introduction
-
Installing ADFS Prerequisites
-
Installing the Federation Service
-
Configuring an Active Directory Account Store
-
Configuring an ADAM Account Store
-
Configuring an Account Partner
-
Configuring a Resource Partner
-
Creating a Claim Type
-
Configuring an Application
-
Configuring a Forest Trust
-
Configuring an Alternate UPN Suffix
-
Configuring the ADFS Web Agent
-
Enabling Logging for the ADFS Web Agent
-
Chapter 22 Exchange Server 2003
-
Introduction
-
Preparing Active Directory for Exchange
-
Installing the First Exchange Server
-
Installing Additional Exchange Servers
-
Installing an Exchange Service Pack
-
Creating Unattended Installation Files for Exchange and Exchange Service Pack Installations
-
Installing Exchange Management Tools
-
Delegating Exchange for the First Time
-
Stopping and Starting Exchange Server
-
Mail-Enabling a User
-
Mail-Disabling a User
-
Mailbox-Enabling a User
-
Deleting a User's Mailbox
-
Purging a Deleted Mailbox
-
Reconnecting a Deleted Mailbox
-
Enumerating Disconnected Mailboxes
-
Moving a Mailbox
-
Viewing Mailbox Sizes and Message Counts
-
Configuring Mailbox Limits
-
Mail-Enabling a Contact
-
Mail-Disabling a Contact
-
Creating a Mail-Enabled Distribution List
-
Creating a Query-Based Distribution List
-
Creating an Address List
-
Creating a Recipient Policy
-
Creating a Storage Group
-
Creating a Mailbox Store
-
Moving the Exchange Transaction Logs
-
Listing Domain Controllers and Global Catalog Servers Used by an Exchange Server
-
Mounting and Dismounting Mailbox Stores
-
Enabling Message Tracking
-
Chapter 23 Microsoft Identity Integration Server
-
Introduction
-
Creating the HR Database MA
-
Creating an Active Directory MA
-
Setting Up a Metaverse Object Deletion Rule
-
Setting Up Simple Import Attribute Flow—HR Database MA
-
Setting Up a Simple Export Attribute Flow to AD
-
Defining an Advanced Import Attribute Flow—HR Database MA
-
Implementing an Advanced Attribute Flow Rules Extension—HR Database MA
-
Setting Up Advanced Export Attribute Flow in Active Directory
-
Configuring a Run Profile to Do an Initial Load of Data from the HR Database MA
-
Loading Initial HR Database Data into MIIS Using a Run Profile
-
Configuring a Run Profile to Load the Container Structure from AD
-
Loading the Initial AD Container Structure into MIIS Using a Run Profile
-
Setting Up the HR Database MA to Project Objects to the Metaverse
-
Writing a Rules Extension to Provision User Objects to the ADMA from Objects in the HR Database MA
-
Creating a Run Profile for Provisioning
-
Executing the Provisioning Rule
-
Creating a Run Profile to Export Objects from the ADMA to Active Directory
-
Exporting Objects to AD Using an Export Run Profile
-
Testing Provisioning and De-Provisioning of User Accounts in AD
-
Creating a Run Profile Script
-
Creating a Controlling Script
-
Enabling Directory Synchronization from AD to the HR Database
-
Configuring a Run Profile to Load the telephoneNumber from AD
-
Loading telephoneNumber Changes from AD into MIIS Using a Delta Import and Delta Synchronization Run Profile
-
Exporting telephoneNumber Data to the HR Database
-
Using the HR Database MA Export Run Profile to Export the Telephone Number to the HR Database
-
Searching Data in the Connector Space
-
Searching Data in the Metaverse
-
Deleting Data in the Connector Space and Metaverse
-
Colophon
Return to Active Directory Cookbook