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.
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.
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:
Task Name: CopyScreen
Action: Update
Run the task using the following account: %LogonDomain%\%LogonUser%
Add a new trigger: New Trigger -> On a Schedule -> One Time in the Triggers tab
In the Action tab, specify that the following script has to be run: \\contoso.com\SYSVOL\contoso.com\scripts\copy_screens.bat
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.
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.
Specify the path to C:\Screen, tick Shuffle Pictures and save the changes.
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).
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
Go to HKEY_CURRENT_USER -> Software -> Microsoft -> Windows Photo Viewer -> Slideshow -> Screensaver. Check the following keys and click Finish:
- EncryptedPIDL
- Shuffle
- Speed
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.)
- 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.
7 comments
domain users are not allowed to create anything from C:\ so how would your script work?
You can use another folder in the user’s profile, or create a specific folder on all domain computers using GPO/
Group Policy Preference (User Configuration -> Preferences -> Windows Settings -> Folders).
Through the GPO you can set NTFS permissions for this folder (Computer Configuration -> Policies -> Windows Settings -> Security Settings -> File System).
Great work thank you a lot.
Thanks.
I copied the reg file just exported to the server, and double click it to ‘merge’ it into the registry before going to the Registry wizard.
I tried but couldnot work for me
you are triggering task Job to copy screen saver images in C:\Screen . and force specific screen saver GPO PhotoScreensaver.scr takes images samples from User\Picture\sample picture. how does both statement relates ?
First of all, many thanks for your guide.
I wanted to share my experience that I continued with a method that could be easier from the stage of creating a bat file.
I added the net use S /delete command in the bat file to delete the S drive mapping after the process.
Configuring Scheduled Task Item using Group Policy in your directory
I skipped the regedit steps from the title.
I combined all the photos in SCR format from the slideshow menu with the irfanview application.
I showed this file as the default screen saver by transferring the relevant SCR file to users’ local directories with a bat script.