Keeping everything up to date is great...up until it breaks something your business needs. Internet Explorer upgrades are notorious for breaking production applications, and as such, most businesses need to test each version before allowing it to deploy in production. When you have a dozen systems, it is easy enough to just walk to them and hide the upgrade, and uncheck the little "Install new versions automatically' checkbox; when you manage hundreds or thousands of machines, however, that task quickly moves from time consuming to impossible.
Everything can be blocked through the registry, and as such, you could either create a .reg file or push the changes through GPO/GPP, but we can also do this through PowerShell (which is great if you are using a management platform to push out scripts, or if you need to do something a little more granular than the other methods). To accomplish this, I wrote the following script:
Adding support for versions other than 9, 10 and 11 is as simple as verifying that that version blocks using the same style of registry key as the above script uses, then adding that number to the list in $Versions. You could also use this as a template to push out other registry keys or tweaks if you want, or even modify it to enable the one version you want deployed.
As with anything that makes a change, you should test this before using it in your environment; since this modifies the registry of PCs directly, be especially cautious when using it. The standard warning applies: this code is provided AS IS with no warranty against damage or loss, etc., so really, test first.
Also, this makes the first entry into a new category, "Scripts". Hopefully, there will be many more to come.