Group policy and corporate branding

I am looking at implementing corporate branding on all our desktops and laptops. We have been using BGINFO but I need to move away from using the login script. I need a solution using Group Policy and it needs to take the monitor resolution into consideration. The bmp/jpg files will be deployed locally. All devices are Windows XP SP3. (2500 in total)
retrolampAsked:
Who is Participating?
 
bluntTonyConnect With a Mentor Commented:
If you want to store the wallpaper locally, and also want to check screen resolution, you'd have to have a group policy looking to the local wallpaper bmp file, and use a STARTUP script rather than a login to check the resolution and place the correct wallpaper in the local location.

1. Use the policy that lacrewga has mentioned, and have it point to a generic local location, e.g. C:\wallpaper.bmp.
2. Have the startup script check the screen resolution and copy the appropriate bmp from a network share to the local location.
3. When the user logs on, they will use the local wallpaper copied down by the startup script.

I think if you check the resolution during login then the wallpaper wouldn't update immediately. The user would have to log off and back on again.

An example script to check the resolution and copy a file is below...
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objWMIService = GetObject("Winmgmts:\\.\root\cimv2") 
Set colItems = objWMIService.ExecQuery("Select * From Win32_DesktopMonitor where DeviceID = 'DesktopMonitor1'",,0)
   For Each objItem in colItems 
       intHorizontal = objItem.ScreenWidth 
       intVertical = objItem.ScreenHeight 
   Next 
strResolution = objItem.ScreenWidth & " x " & objItem.ScreenHeight
 
Select Case strResolution
Case "1600 x 1200"
	objFSO.CopyFile "\\server\share\1600_1200_wallpaper.bmp" , "C:\wallpaper.bmp"
Case "1280 x 1024"
	objFSO.CopyFile "\\server\share\1280_1024_wallpaper.bmp" , "C:\wallpaper.bmp"
'ADD MORE CASE STATEMENTS HERE TO SUIT....
End Select
 
Set objFSO = Nothing
Set objWMIService = Nothing
Set colItems = Nothing

Open in new window

0
 
lacrewgaConnect With a Mentor Commented:
The setting in GP are found in... User Config, Admin Templates, Desktop, Active Desktop, Wallpaper (I believe). I suspect if you want to read users desktop screen resolution, you will have to create a script file (your choice of usable languages) and place it in a login.bat
0
 
bluntTonyCommented:
Sorry, just re-read your original post. If you are trying to avoid using scripts full stop, then you could apply a WMI filter to your group policy objects.

You would have to create a group policy for each screen resolution, and apply the appropriate WMI filter to each of the group policy objects.

For example, the WMI filter below will apply to machines with 1600 x 1200 resolution, so the GPO that users this script should apply the appropriate wallpaper for this resolution.

However if it was me I think I would opt for a script to do some of the work. Bear in mind that Windows 2000 and before will not read the WMI filter on a GPO, so if you have Win2000 machines this may not be an option.
Snap1.jpg
0
 
retrolampAuthor Commented:
Thanks for the help. Appreciate the script bluntTony
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.