Many enterprise customers today rely on a consistent company screen saver, and while that's usually something that's rolled out with the standard corporate desktop image, what if you need to change it later? You can use Group Policy for that, but the problem is that it can disable screen saver settings for users and they will not be able to change them. Fortunately with System Center Configuration Manager 2007 or SMS 2003, changing that screen saver is just a few clicks away:
To deploy your new screen saver you will need 3 files:
The basic settings for screenscr.reg should look something like this:
Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Control Panel\Desktop] “ScreenSaverIsSecure”=”1" “ScreenSaveTimeOut”=”900" “ScreenSaveActive”=”1" “SCRNSAVE.EXE”=”C:\\WINDOWS\\screensaver.scr”
Exactly what you use here will depend on the name of your SCR file as well as the specific settings you wish to deploy. Most of these settings should be self explanatory but note that ScreenSaverTimeOut is the time out in seconds.
Next create a batch file (screenscr.bat) and add the following lines:
@echo off regedit /s screenscr.reg copy screensaver.scr %windir%
Then put all three files in one folder and create a package pointing to it. Create a program and select screenscr.bat as your program. Also check "Suppress program notifications" so that the users don't get notifications.
Note: When creating the advertisement it is important that in the Advanced client tab you select to Download the program because if you don’t do that it will fail. If this happens, when the program runs on client PC the user will probably just see a command prompt popping up and then quickly disappearing.
Note: This also applies to SMS 2003
Also remember that this may not work with every screen saver so be sure to test yours fully before rolling it out.
Rajsekhar Banerjee | System Center Technical Lead
Batch files...what??? Don't forget the BEST way to do this. You could always package this in SMS Installer. With SMS Installer you can deploy ANY screen saver.
Using batch is a very bad decision to deploy anything. You should always aim for using MSI when deploying a piece of software or even a single FILE - this way you get a proper error handling not only in SMS/SCCM but also on the client (use the /lv* switch for msiexec to write a verbose log of any installation).
What if you want your screensaver to be deployed only to those clients that do not currently have it installed? Using your way (scripting) requires editing the SMSDEF.MOF to collect the *.scr information from WMI! Use a simple MSI and you wont have to do anything to collect the information. Just query for installed product codes.
There are also special solutions that allow you to deploy screensaver updates t=and target them based on Active Directory. An example is this one: