AD Must-Haves Continued: Forest Merges

In the past two Windows IT Pro UPDATE--Special Edition commentaries, I've suggested a few improvements that Microsoft should consider when designing Longhorn's Active Directory (AD). And because the company has announced that it will further delay Longhorn, I can note with tongue in cheek that it now has more time to implement those ideas. This month, I continue with a third suggestion, and although it's number three in this sequence, it's number one on many people's lists: flexible forests.

Not many people will dispute the statement that AD is a bit unforgiving with its forest structure; you might say that if AD were a pencil, it would lack an eraser. Let's say you've purchased another company and need to merge your forests. Sorry, AD has no "forest-smoooosh wizard." Or, you've sold part of your company and want to remove that part's domain, leaving a standalone forest. You can't do that either. Maybe you've installed an AD-aware application that modified the AD schema, but you've uninstalled that application and now you want to remove its changes to the schema? No can do. (One reader tells me that he tried to run Microsoft's Adprep utility--you need to run Adprep to upgrade a Windows 2000-based AD to a Windows Server 2003-based AD--only to have the Adprep process fail. It turned out that he'd previously installed an AD-aware application on his Win2K-based AD, and that application made schema changes that conflict with the changes that Adprep must make to the schema ... ouch.) Although I'd like to have all the above capabilities, if I had to just choose one, I'd choose forest merges.

Here's what I'd like to see Longhorn AD be able to do in terms of forest merges. I'd like it to analyze differences in the schemas of the two forests to be merged, detecting which items each schema contains. Then, it would create a new schema structure comprising the union of the two schemas, resulting in the combination of all items in both schemas without duplicating any items. Next, AD would modify the schemas of both forests to reflect this new, expanded schema structure. The Longhorn AD forest-merging system would then duplicate this process for the Global Catalogs (GCs) of each forest, ensuring that they contain the sum of the information in each GC but omitting duplication. Finally, Longhorn AD would create the transitive trusts from the first forest to the second forest. The forest-merger feature would then ask the administrator which domain to make the new forest's root domain.

Clearly, stitching a forest together entails more than what I've outlined. Based on my experience, Microsoft's current forest-reshaping tool, the domain-rename function in Windows 2003-based ADs, is nothing short of awful. This functionality requires that you have simultaneous online access to every domain controller (DC) in a domain, then requires you to reboot all member servers and workstations twice and change the domain suffix on the DCs by hand. Yuck. I wouldn't recommend you use this method for any but the smallest domains.

Microsoft is aware that AD's inflexibility is a major source of irritation. So why doesn't the company change that? It might well be that I'm simply ignorant of some deeper matters. Perhaps then, the truth is, with apologies to poet Joyce Kilmer, "Columns are written by fools like me, but only Dcpromo can make a tree."

Perhaps I'd understand why AD has to be so inflexible if Redmond released a bit more information about AD internals. Some day, perhaps.

Discuss this Article 3

RosenowW
on Sep 5, 2004
Hi Mark, here another suggestion - my favourite one. Perhaps such a feature is planned and I have not heard about it yet: I would like it very much if you could set permissions on AD-objects like machines, printers, shares or others that would control the permissions on the real objects. Example: In AD I add an admin-group to the ACL of a server with some special permissions and some time later these group has these permissions on the real machine. (The restricted group feature in group policy is to unflexible to achieve this from my point of view.) Regards, Wolf.
Per (not verified)
on Sep 3, 2004
Hi Mark. I have some other features I would like to see - feel free to make an article about the subjects. The first is related to the reflection part. In the real world, I prefer having a test forest and a production forest. All important changes like OU structure, important group policies, schema updates are done in the test forest, before being re-done in the production forest. I would like to have a system landscape tool (something along the lines of SAP) where I could make the changes in the test forest and then easily transfer them to the production forest. The second option comes down to delegation. It is fine that I can delegate say group creation to some OU. The problem is that group names - at least the SAM account name - must be unique. They live in a flat structure, not the hierarchical OU structure. Consequently, I need a way of controlling the names of the objects being created. I would suggest that it should be possible to attach a regular expression to an OU, controlling the names of the objects created. The regular expression should preferably be per-object type. Third, Group Policies are very restricted. I need a lot of features here. A) Make the GUI consistent with help etc. in all the branches of Group Policy Editor B) Make be grant a user right to a user without having to specify the entire policy list C) Let me have a scheduled script type, so I can run scripts at a certain interval (who restarts or logs off these days?) D) Let me specify a script that returns the value for the policy or have some kind of wildcarding. Reason: Suppose I have 80 OUs - I want to control the members of the local Administrators group, each should be different - and I do NOT want to create 80 GPOs. Here some wildcarding like %OU% would be useful - but a script would be even better. Fourth, Windows should support a local Restricted Administrators group. This group should only be changeable via Group Policy. The idea is that a member of the local administrators group should be prevented from doing certain things - stopping firewalls, anti-virus services etc. Think of it as a kind of protected subsystem. I'm well aware that they could install some kind of hacker tool to bypass this feature - but in most cases that would be a big help.

Please or Register to post comments.

IT/Dev Connections

Las Vegas
September 30th - October 4th

Paul ThurottYou'll have the opportunity to experience:
• The Microsoft
Technology Roadmap
• Office 365 Implementation
• Hyper-V Optimizing
• Windows 8 Deployment
and much more!

Come See Paul Thurrott & Rod Trent in Person!

Early Registration Now Open

Upcoming Training

Mastering System Center 2012

During over 6 hours of training you can join John Savill from your computer as he will walk you through the key components and capabilities of System Center 2012, what’s involved in using the components, and the benefit they can bring to your environment.

Register Now

Current Issue

May 2013 - The NameTranslate object is useful when you need to translate Active Directory object names between different formats, but it's awkward to use from PowerShell. Here's a PowerShell script that eliminates the awkwardness.

CURRENT ISSUE / ARCHIVE / SUBSCRIBE

Windows Forums

Get answers to questions, share tips, and engage with the Windows Community in our Forums.