Posted on August 22, 2017 · Posted in Group Policies, Windows 10

How to Configure a Slideshow Screensaver Using GPO

My management decided to set the same slideshow screensaver on all PCs in the company. The images of the slideshow should have corporate design and provide general rules of information security, useful tips or some other reference information. First of all, they considered the development of their own screensaver in *.scr format, but this method required some extra software and was not flexible and easy enough to manage it. It resulted in a solution to distribute images and to manage the screensaver on an Active Directory domain using GPO.

It should be mentioned right away that the company is using all supported Windows versions: Windows 7, Windows 8.1 and Windows 10 as client OSs so the solution has to be universal and work on any OS version.

In OS Windows, starting from Windows 7, you can display a slideshow of the images from the specified folder, but you cannot manage these settings using GPO. So we needed a workaround solution.

Network Share with Images for Slideshow and

First of all, create a network share to store the source images for your slideshow on any server in your network. Grant all domain users (Domain Users group) the privileges to read files in this folder. For example, in our case the UNC path to the files is \\srv1\Install\Img. Copy the images here.

network share with slideshow files

Configuring Scheduled Task Item using Group Policy

Then create a script file copy_screens.bat, which will connect clients to this network share and copy the screensaver images to C:\Screen folder on the local disk of each computer. The code of the script copy_screens.bat is shown below.

net use s: \\fsrv1\Install\Img
mkdir C:\Screen
del /Q C:\Screen\*.*
xcopy S:\*.* C:\Screen

Copy this script to SYSVOL folder on the domain controller (C:\Windows\SYSVOL\sysvol\contoso.com\scripts). Then using the Group Policy Editor, create a new policy or edit an existing one. To demonstrate, we’ll run the copy task using a one-time Task Scheduler job (if you need to refresh slides, run this task again). Create a new task for the Task Scheduler for all PCs using GPO.

Tip. You can copy the files using a Startup script, but in this case it’s better to modify your script so that it checks if the files in the source folder have been changed.

Go to User Configuration > Preferences > Control Panel Settings > Scheduled Tasks and create a new task (New->Scheduled Task at Least Windows 7) with the following parameters:

create GPO scheduled task

Task Name: CopyScreen

Action: Update

Run the task using the following account: %LogonDomain%\%LogonUser%

copyscreen task

Add a new trigger: New Trigger -> On a Schedule -> One Time in the Triggers tab

task trigger

In the Action tab, specify that the following script has to be run: \\contoso.com\SYSVOL\contoso.com\scripts\copy_screens.bat

execute copy_screens.bat fron sysvol using scheduled task

Save the changes in the task and assign the policy to the OU with the users.

Configuring Screensaver Settings on a Reference PC

Now you need to configure your screensaver on a reference computer so that it took the images for the slide show from C:\Screen. The settings of the corresponding registry keys on this computer will be distributed to all PCs using Group Policy.

Note. The folder C:\Screen must exist on a reference computer.

In Windows 10, go to the following settings section: Start -> Settings -> Personalization -> Lock Screen. Scroll down to find Screen Saver Settings. Select ‘Photos’ as a screensaver and click Settings. win10 configure Photos screensaver

Specify the path to C:\Screen, tick Shuffle Pictures and save the changes.

screensaver settings : Shuffle Pictures

Now export the following registry branch HKEY_CURRENT_USER\Software \Microsoft\Windows Photo Viewer\Slideshow\Screensaver in a .reg file and import it on the domain controller (or another computer, on which you edit the GPO). export registry key

Important. The path to the folder containing the images is stored in encrypted (Base64) EncryptedPIDL parameter, so you won’t be able to change it manually. Since Windows doesn’t wrap the lines in the value of this parameter correctly, you have to manually edit .reg file (in the NotePad) so that the value of EncryptedPIDL key goes as a single line.EncryptedPIDL

Save the .reg file and import it to the computer, on which you edit the GPO.

GPO to Manage Screensaver

Open your policy and go to the following GPP branch: User Configuration -> Preferences -> Windows Settings -> Registry. Create a new parameter: New > Registry Wizard > Next

gpp registry wizard

Go to HKEY_CURRENT_USER -> Software -> Microsoft -> Windows Photo Viewer -> Slideshow -> Screensaver. Check the following keys and click Finish:

  1. EncryptedPIDL
  2. Shuffle
  3. Speed

screensaver reg: Shuffle, speed and EncryptedPIDL

Then go to the following GPO section: User Configuration -> Policies -> Administrative Templates -> Control Panel -> Personalization. Enable Force specific screen saver, and specify PhotoScreensaver.scr as its value. (By default, Photoscreensaver.scr uses the folder C:\Users\Public\Pictures\Sample Pictures as the source of the screensaver images.)  

Force specific screen saver - GPO

Tip. You can also enable these policies in the Personalization section

  • Enable Screen Saver
  • Password Protect Screen – protects the Lock Screen with a password
  • Screen Saver timeout – the timeout in seconds that triggers the automatic start of the screensaver

That’s all, close Group Policy Management console and update the policies on the clients (gpupdate /force). A single corporate slideshow screensaver that takes images from c:\Screen will start on all domain computers after a specific timeout.

Previous:
Next:
Related Articles