Enabling Windows 7 Device Stage via Group Policy

Device Stage is a nifty new feature built into the in ‘Devices and Printers’ control panel in Windows 7 that exposes common functions of devices attached to your machine, such as digital cameras and printers. Gizmodo have a nice detailed article about how useful it can be. Personally I like it just because it shows actual pictures of my hardware instead of just a generic icon (see left for an example).

I decided that the extra functionality and pretty icons was worth the minimal bandwidth cost on my network, so decided I’d like to turn it on for every workstation on the network. I needed to set it explicitly because it’s an opt-in feature out of the box, and it requires administrative privileges to enable it, which my users don’t have.

There’s a Group Policy setting to control this, which you can find at:

Computer Configuration\Administrative Templates\System\Device Installation
Prevent device metadata retrieval from the Internet

Enabling this policy forces Device Stage to ‘off’, but if you disable the setting or don’t configure it, the default is back to ‘let the user opt-in’. There’s no way to force it to always be on, which seems pretty stupid from my point of view, but hey, I’m just a customer who wants to use the latest features. However, knowing that the setting would be stored in the registry, I looked up the registry key that GP setting modifies in the Group Policy Settings Reference spreadsheet, and went investigating.

The critical value is:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Device Metadata
PreventDeviceMetadataFromNetwork (REG_DWORD)

The GP setting either sets this value to 1, or deletes it. However, if you define it yourself and set it to 0, then this has the same effect as explicitly enabling it in the Control Panel.

Easiest way to roll this setting out? Group Policy Preferences, of course.

Tags: , , , ,

About The Angry Technician

The Angry Technician is an experienced IT professional in the UK education sector. Normally found in various states of annoyance on his blog. All views are those of his imaginary pet dog, Howard.

5 responses to “Enabling Windows 7 Device Stage via Group Policy”

  1. Dale says :

    I remember a recent tech news story where Apple blocked an iPod/iPhone developer from using Apples images for the same purpose, because they were copyrighted by Apple. The developer had to use generic images instead.
    (can’t find the original article now :-( )

    I’d be interested in whether you had application compatibility problems with Windows 7. I’ve only seen one issue with Vista/Windows 7, and that was with a 16-bit installer on a 64 bit Windows 7 (so the issue was expected).

    • AngryTechnician says :

      64-bit compatibility aside, the only issues I’ve had are with poorly-written specialist programs that hacked around restricted user issues in XP and then hit a brick wall when the same hacks didn’t work with UAC, or relied on drivers that didn’t play nicely with the new driver model in Vista/7.

      I’m struggling to remember individual examples from serious software companies, since I was dealing with it all 3 years ago. I certainly haven’t found anything that runs on Vista that doesn’t run on 7, and any company putting out software that they still haven’t got working with Vista simply isn’t worth dealing with.

  2. Mike says :

    Thanks for this post, I also wanted to enable this setting by group policy for everyone on the network. It turns out that the behavior of setting this policy to “disabled” is actually exactly what you recommend doing with your registry change using GPP.
    The text in the ADMX template states that setting the policy to disabled or not configured are equivalent, but this is not the case because setting it to 0 enforces the “replace generic device icons…” checkbox to ON.

  3. David Fletcher says :

    Perfect! Thanks for this tip. I’ve implemented it in our new Remote Desktop Session Host environment. One less thing for end users to ask me about!

%d bloggers like this: