Is there a way of consolidating multiple GPOs into one GPO
I have about 100 GPOs that I would like to merge down to 15-20. Is there a way of merging them together. I found this article:
http://blogs.technet.com/b/ashleymcglone/archive/2011/01/19/finally-copy-and-merge-gpos-powershell-saves-the-day.aspx
but there are limitations to its functionality that I can't not resolve without going through each of them one by one.
There is no generalized functionality to do what you're looking for. Because of the modular nature of Group Policy and client-side extensions (CSEs), there can't be a generalized solution, per se, either. (Someone could write "merge" handlers for all the default Microsoft CSEs, but any third-party CSE would be its own problem.)
Architecturally, Group Policy can be extended to handle new kinds of settings. On the client end, these CSEs are DLLs that handle parsing the policy data for each different type of policy (IE Policy, Security Policy, Administrative Templates / Registry, etc). On the server side, the management console is extensible to allow third-parties to create management tools for their policy data. There is no standardized format for storage of the CSE data within the GPO. Registry policy uses a registry hive file, IE policy uses an IEAK template file, etc.
Microsoft didn't think to require third-party policy CSE administrative interfaces to have "merge" functionality so they don't. Call it short-sighted, but that's just the way it is.
What kind of stuff is in your GPOs besides registry policy that needs to be consolidated? Depending on what it is you may be able to write some code (or pay somebody to write some code) to do what you're looking for.
You might start with a tool that can compare GPO's to see what's in common (if anything) between all of the GPO's. Once you've got that you can start by building a new GPO that contains all of the common settings and work from there.
Be careful to avoid the temptation to buld a single monolithic GPO to handle everything. 100 sounds like too many but 1 is probably too few.