It’s time once again to share another random and stupid thought from an accumulated mass of thoughts accumulated from customer engagements. In this case, it’s about the concept of “configuration management”. And, no, I’m not even focusing on System Center Configuration Manager at this point. This is much, much broader in scope.
If I don’t get the luxury of methodically peeling back the layers via discussion, then it often crashes the party sort of like this…
Me: “I see you have 75 scripts, 54 registry entries, and a bunch of outdated utilities embedded in your Windows image, and it’s adding an hour to your imaging process on average.”
Customer: “Yeah. We use those to configure stuff.”
Me: “Stuff. Yes….” (serious, solemn expression; slowly opens black binder, like Agent Smith while interrogating Neo)
Me: “After reviewing them, it seems that almost every single one is available using Group Policy, and these are domain-joined provisioning processes.”
Customer: “We tried Group Policy in 1992 and didn’t like it. We tried Sriracha once as well, and didn’t like it either.”
This is usually followed by a long, awkward silence, and the occasional throat-clearing noises. Someone’s accidentally plays a Justin Bieber ring tone, before being anxiously silenced.
Luckily, the majority of engagements are more positive. Customers are often eager to ask about “better” or “easier” ways to pre-configure computers as they deliver (or replace) them in production. Among the most common topics:
- Windows 10 Start Menu
- Windows 10 Task bar
- Windows desktop settings
- Explorer settings
- Power management settings
- Drive mappings
- Printer mappings
- Scheduled Tasks
There are others, but these are some of the most common items brought into the discussion.
My usual response is as follows:
“Baseline or Continuous Enforcement?”
“Global or Conditional?”
- Baseline refers to a configuration that is established initially, but will allow users to modify afterwards.
- Continuous Enforcement refers to a configuration that cannot be modified after it’s been established.
- Global refers to a configuration that applies to all users without exception.
- Conditional refers to a configuration that applies differently based on certain criteria. Examples of this include group memberships, computer models, Active Directory sites, Windows version, and so on.
One common example is the Windows 10 Start Menu. If you want to configure it via a Baseline approach, you can do that with MDT or SCCM or a script. If you want to configure it via Continuous Enforcement, you (should) use Group Policy.
The only point I’m really trying to make is that it’s not enough ask WHAT needs to be configured, or even HOW to configure it. You really need to ask WHY and WHEN. Every time you reach for the mouse or keyboard, ask yourself “is this the best way to do this?“