Windows group policies in the real world
Trevor's technical tidbits
Sysadmin Blog I admit: group policy is a pretty dry subject. If you are reading an article about group policy, you aren’t here for my sense of humour. This means that you are seeking a few technical tidbits. In Windows, it's not easy to do this.
Group policy changes with every iteration of Windows. Some group policy topics can be approached in a general sense, but to really have a conversation about Group Policy Objects (GPOs) then we need to set some boundaries. I’ll be talking a lot about NT5 - Windows 2000, 2003 and all flavours of XP - and NT6. Bear in mind that I haven’t really used Windows 2000 in about five years. I am assuming that most of what works in 2003 and XP applies to 2000 - primarily because they really weren’t that different.
I am not going to make any such assumptions about NT6. While NT6 consists of Vista, 7, Server 2008 and Server 2008R2, I am going to pretend that Vista and Server 2008 simply didn’t happen. I’ll be honest; by and large, I skipped both Vista and Server 2008. Admittedly I did use them, but only enough to be very glad that I stuck with XP, and now I am deep into Server 2008 R2 and Windows 7.
Certain features, such as bit locker or Hyper-V are native to the NT6 set of operating systems, and lacking in NT5. To manage these features, GPOs were added to the collection that existed with NT5; there are also new systems management features in NT6.
The first feature: including the Group Policy Management Console (GPMC) in the default install of NT6. For those of you who remember Server 2000 - or Server 2003 before you downloaded and installed the GPMC - group policy management pre-GPMC was a terrifying nightmare. If you had a single inheritance or precedence problem, you could easily spend hours fighting with your GPOs. GPMC, combined with Resultant Set of Policy (RSoP) make administering GPOs significantly easier.
GPO logging is similar. While GPO events could be tracked previously, far more information about deployment is now recorded as a matter of course in NT6 event logs. The error messages are still cryptic or incomprehensible. Google them.
Next: GPOs relating to printers. I’ve not tried it yet, but there’s plenty of literature on using NT6 to push network printers out via GPOs. This is really an extension of the excellent Server 2003 R2 Print Management Console (PMC). If you are using NT6, you can use the PMC to connect to your print server of choice. Just right-click and “deploy via GPO”
While the PMC offers Server 2003 R2 the ability to do nifty things like host NT6 printer drivers on an NT5 print server, you can’t push network printers to NT5 operating systems via the PMC. At least, not out of the box. If you dig around in Server 2008’s system32 folder, you’ll run across “pushprinterconnections.exe.” Add this to a logon script, and it will push these printers out to NT6.
Another neat “addition” is that folder redirection for NT6 systems has been expanded from allowing you to redirect only five folders to ten. This is still a long way from the granular control that I want, but it’s a baby step in the right direction.
One change between NT5 and NT6 that many administrators overlook is the move away from ADM files and towards ADMX files. Both are ways of loading templates for group policy settings into the AD, but the selling point for ADMX files is that they are XML. ADMX files are billed as “human readable,” and they are.
To the kind of people that read XML, anyway.
But, by being XML, it’s easy to create a program that will read or generate ADMX files. There's no shortage of companies offering software to parse or generate GPO templates like this. Google them, too.
If you had previously put time into creating old NT5 ADM files, the newer ADMX files will supersede them. ADMX files are also language-neutral. They contain only the GPO and its value. The descriptions are stored in an ADML file. This is useful if you have admins who speak different languages.
"Starter GPOs" in NT6 are neat. Think of them as a sort of template, though don't confuse them with ADMX template files. Say all of your GPOs are working just the way you want them to. Turn your GPOs into starter GPOs, which will offer themselves as prepopulated templates the next time you go to add a GPO. The limitation is that only “administrative templates” can be part of a starter GPO.
Starter GPOs are an excellent way to set up preconfigured template GPOs so your junior administrators have a smaller chance of making things go boom while they are learning the ropes. They belong in the category of child’s play system management, along with the rest of group policy from the NT5 era.
You can't unlock the real power of GPOs under NT6 unless you are a Microsoft volume licensing customer, and you get the Microsoft Desktop Optimisation Pack (MDOP). MDOP includes Advanced Group Policy Management (AGMP), the real meat of which boils down to two words: change control. It’s nowhere near the robust versioning of other systems management tools like Puppet, but it’s a step in the right direction.
Combined with offline editing and role-based delegation, AGPM is an exceptionally useful product. It's irritating that MDOP and AGPM aren’t available to all NT6 customers. It's upsetting I can’t even purchase it unless I'm a volume licensing customer.
Starter GPOs are useful. When it comes to putting some real power in the hands of systems administrators, AGMP is a good start. But you simply can’t beat scripting for true administrative control. For this, Microsoft offers the ability to use WMI filters or to deploy VB or Powershell scripts. These features make Microsoft the equal of any Unix based operating system for scripting control.
Sadly when it comes to actually implementing the power of these scripting features, applications like Puppet walk all over Microsoft in terms of versioning, reversion and ease of use. Ultimately Microsoft offers two options: “easy to use but fairly limited” and “remarkably powerful but with nothing to help you keep organised”. ®