SCCM – Windows 10 Photo Viewer

A very useful blog post can be found here, where Simon talks about setting Photo Viewer as the default application for bitmap, gif, jfif, jpeg, wdp and png during a custom task sequence.

I am sharing with you on how to make use of Configuration Items to reinstate Photo Viewer for Windows 10 clients to a dynamic collection based on non-compliance (ie, Windows 10 clients that don’t have the reg fix to reinstate Photo Viewer).

Configuration Item

  1. Compliance Settings > Configuration Items > Create Configuration Item
  2. Name and default options are OK, next
  3. Ensure only Windows 10 is selected for Supported Platforms
  4. Create new a setting which a Compliance Rule will evaluate:
    1. Give it an appropriate name
    2. Setting Type: Registry
    3. Data Type: String
    4. Hive Name: HKEY_CLASSES_ROOT
    5. Key Name: Applications\photoviewer.dll\shell\open
    6. Value Name: MuiVerb
  5. OK and Next, to create a Compliance Rule
    1. Give it an appropriate name
    2. Browse for the setting you created in previous step
    3. Change Rule Type to Existential
    4. Registry value must exist on client devices
  6. OK and Next to finish up the wizard

Configuration Baseline

  1. Compliance Settings > Configuration Items > Create Configuration Baseline
  2. Name it, click Add and select the Configuration Item we just made and click OK
  3. Right click on the Configuration Baseline and Deploy to a desired collection, set an evaluation schedule to your preference – perhaps once a day initially to get a quick success rate
  4. Select the Configuration Baseline from the list of baselines and go to the Deployemnts tab at the bottom
  5. Right click on the deployment, under Create New Collection and select Non-compliant
  6. This will create a collection so do what you normally do here, leave the membership rule alone. By default, it goes to the root of the collections node – an FYI in case you use a lot of folders and don’t immediately find it

In case you aren’t aware, you deploy baselines not items themselves. Generally if I’m doing a one off config item, I can name the item and baseline the same. In this case it is appropriate to do single baseline for single item as we want a collection of non-compliance for nothing other than what we’ve configured above.

Clients will immediately start evaluating. You can manually evaluate on clients under the Configurations tab in the Configuration Manager applet – if you don’t see it there straight away, perhaps run policy retrieval, wait a moment and refresh.

Non-compliant clients will populate this newly created collection – giving us a handle on the clients needing the reg fix to reinstate Photo Viewer.

Create an application or package, up to you what you prefer, I prefer Applications, to execute the below command:

regedit.exe /s win10photoviewer.reg
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Applications\photoviewer.dll]

[HKEY_CLASSES_ROOT\Applications\photoviewer.dll\shell]

[HKEY_CLASSES_ROOT\Applications\photoviewer.dll\shell\open]
"MuiVerb"="@photoviewer.dll,-3043"

[HKEY_CLASSES_ROOT\Applications\photoviewer.dll\shell\open\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,72,00,75,00,\
6e,00,64,00,6c,00,6c,00,33,00,32,00,2e,00,65,00,78,00,65,00,20,00,22,00,25,\
00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,46,00,69,00,6c,00,65,00,73,00,\
25,00,5c,00,57,00,69,00,6e,00,64,00,6f,00,77,00,73,00,20,00,50,00,68,00,6f,\
00,74,00,6f,00,20,00,56,00,69,00,65,00,77,00,65,00,72,00,5c,00,50,00,68,00,\
6f,00,74,00,6f,00,56,00,69,00,65,00,77,00,65,00,72,00,2e,00,64,00,6c,00,6c,\
00,22,00,2c,00,20,00,49,00,6d,00,61,00,67,00,65,00,56,00,69,00,65,00,77,00,\
5f,00,46,00,75,00,6c,00,6c,00,73,00,63,00,72,00,65,00,65,00,6e,00,20,00,25,\
00,31,00,00,00

[HKEY_CLASSES_ROOT\Applications\photoviewer.dll\shell\open\DropTarget]
"Clsid"="{FFE2A43C-56B9-4bf5-9A79-CC6D4285608A}"

[HKEY_CLASSES_ROOT\Applications\photoviewer.dll\shell\print]

[HKEY_CLASSES_ROOT\Applications\photoviewer.dll\shell\print\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,72,00,75,00,\
6e,00,64,00,6c,00,6c,00,33,00,32,00,2e,00,65,00,78,00,65,00,20,00,22,00,25,\
00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,46,00,69,00,6c,00,65,00,73,00,\
25,00,5c,00,57,00,69,00,6e,00,64,00,6f,00,77,00,73,00,20,00,50,00,68,00,6f,\
00,74,00,6f,00,20,00,56,00,69,00,65,00,77,00,65,00,72,00,5c,00,50,00,68,00,\
6f,00,74,00,6f,00,56,00,69,00,65,00,77,00,65,00,72,00,2e,00,64,00,6c,00,6c,\
00,22,00,2c,00,20,00,49,00,6d,00,61,00,67,00,65,00,56,00,69,00,65,00,77,00,\
5f,00,46,00,75,00,6c,00,6c,00,73,00,63,00,72,00,65,00,65,00,6e,00,20,00,25,\
00,31,00,00,00

[HKEY_CLASSES_ROOT\Applications\photoviewer.dll\shell\print\DropTarget]
"Clsid"="{60fd46de-f830-4894-a628-6fa81bc0190d}"

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *