I want to change desktop wallpaper with Group Policy.....

Posted on 2003-02-20
Medium Priority
Last Modified: 2010-04-13

I want to change the desktop wallpaper with Group Policy.  I found the Administrative Template that lets me make the change - but here's the problem:

Each user has wallpaper that is unique to them.  It has their name in the upper right hand corner.  I tried using the full UNC like this:  "\\server\share\%username%.jpg".  The policy implemented, but no wallpaper, so I checked the desktop settings, and it had "%username%" as the name of the wallpaper.

If this part of Group Policy isn't going to let me use an environment variable, then I need to come up with another idea.  I would like to avoid the heavy-network-traffic solution of using a login script to copy the user's wallpaper to a dummy location.  Example - my wallpaper is "ddotson.jpg".  I thought of using a script to copy it to the workstation as "wallpaper.jpg".  But you can see that problem - heavy overhead. I don't know if it would work anyway.

Any ideas on how to make this work?

Question by:ddotson
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
  • 2
  • +1

Expert Comment

ID: 7992857

Are you using a 'Home' drive share? (something along the lines of \\srvname\%username%)

If so are you also storing their personal environment variables in there? You could setup a script to run on creation of the new user to create & rename %username%.jpg to wallpaper.jpg. The policy can then look to H:\desktop\wallpaper.jpg - where H: is the homeshare=%username%. No environment variables in the policy and no major network traffic copying to a dummy location. Script is only run once, at creation.

Another possible option would be to run the SET command to set a variable eg
         SET WALLPAPERPATH=\\server\share\%username%.jpg
or       SET WALLPAPER=%username%.jpg
and instead of using the UNC+variable just put in the variable (must confess haven't tried this option but may be conflict between variable including the '.jpg' extension.

Author Comment

ID: 7992926
I am not using the Home drive share.  I don't fully understand it.  The closest I have come is this:  I have a shared folder called "users".  Everyone's individual folder is inside, and each have the appropriate permissions set.  Their folders have the same name as their username. Hence, my folder is "ddotson".  There are also public access folders in the users folder.

I kindof like your idea of setting a variable equal to the path.  I am already using a login script - is this the place to do that, and how persistant is the variable?

Expert Comment

ID: 7993018
I disagree with putting the file in their home folder as they would have access to it. I do agree with putting it in a share they have read only access to.

Let me throw another wrench in the works.  Pushing wallpaper out over a network not aonly slows logins considerably, but also needlessly uses up bandwidth.

If you want to have the username on the desktop you could change "My Computer" to "DDotson logged on to Workstationname."   I have read about this but never got around to implementing it.
Get real performance insights from real users

Key features:
- Total Pages Views and Load times
- Top Pages Viewed and Load Times
- Real Time Site Page Build Performance
- Users’ Browser and Platform Performance
- Geographic User Breakdown
- And more


Expert Comment

ID: 7993206
Yes you could set the variable in the login script or in the registry HKCU|environment as something like
Value name of WALLPAPER and Value Data as \\servername\share\%username%.jpg
This will cause a permananent variable to be set that is updated at each login.

Back in the dim and distant past when I was first starting out, remember seeing a ex colleague set something up, when active desktop first came out, that was locally stored and updated, using some sort of script, to the time and message of the day! I assume this idea could be used. I'll try and dig out how he did it!

As for needlessly using bandwidth this is a possible problem
LVL 85

Accepted Solution

oBdA earned 300 total points
ID: 7994303
Hi ddotson,

Question 1: Did you enable the Active Desktop on your workstations? If AD is not enabled, .jpg wallpaper won't work. The environment variable should work, though.

But as was already pointed out: Don't get the wallpaper from a network share (besides: network traffic is the same, whether you copy it to a dummy location or you apply it as \\server\share\username.jpg -- the data has to go over the net in both cases).

But if all you're looking for is an easy way to put the user name (and perhaps even some machine info) on the desktop, have a close look at bginfo from SysInternals: http://www.sysinternals.com/ntw2k/freeware/bginfo.shtml.


Author Comment

ID: 8039213
Well, I have tried setting an environment variable via the login script. For some reason, the variable was never created.  I manually created the variable, but the desktop wallpaper wants a full path and won't accept variable names.

I tried setting the wallpaper to a local jpg, and then use the login script to copy the individual wallpapers to the local wallpaper, ie: copy \\server\share\ddotson.jpg c:\winnt\wallpaper.jpg /y  

That didn't work.  The only thing that has worked so far is the bginfo program suggested by oBdA.T he problem is that it doesn't look as nice as my wallpaper. I'll leave the question open for any last ditch ideas.

Expert Comment

ID: 8041583
ddotson...  your issue is copying over a large jpg file through a logon script.  Your pushing this out everytime a user signs on in addition to everything else that must occur at that time.  Test your script with the wallpaper file already resident on the workstation.  I understand this wil not get your desired end result, but it will establish whether pushing the jpg file and running the script are having some load issues.

I recently asssisted a large school district, we developed three different wallpapers (Technicians/Adults/Students).  This assited in quickly identifying from a distance if a student was logged on with more priveleges then he/she should have.  The wallpapers were placed in the system directory of the local workstation and pointed to in the group policies.  So they were not even specified in a script, just the group policy.

To identify the user and machine name was our next objective and we were going to attempt to show that by altering the My Computer variable with "%username% logged on to %workstationname%"  We ran out of time in the deployment.

Author Comment

ID: 8118335
Well,  I wasn't able to achieve my goal, but oBda's suggestions of the bginfo program is one that works.

Featured Post

New feature and membership benefit!

New feature! Upgrade and increase expert visibility of your issues with Priority Questions.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

NTFS file system has been developed by Microsoft that is widely used by Windows NT operating system and its advanced versions. It is the mostly used over FAT file system as it provides superior features like reliability, security, storage, efficienc…
This article lists the top 5 free OST to PST Converter Tools. These tools save a lot of time for users when they want to convert OST to PST after their exchange server is no longer available or some other critical issue with exchange server or impor…
Add bar graphs to Access queries using Unicode block characters. Graphs appear on every record in the color you want. Give life to numbers. Hopes this gives you ideas on visualizing your data in new ways ~ Create a calculated field in a query: …
In this video, Percona Solution Engineer Dimitri Vanoverbeke discusses why you want to use at least three nodes in a database cluster. To discuss how Percona Consulting can help with your design and architecture needs for your database and infras…
Suggested Courses

752 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question