danielson81 Posted November 26, 2012 Posted November 26, 2012 Hi there, I just wondered if there is anyway to automatically change a wallpaper every day or every few days. Basically I was going to set a Christmas Wallpaper for some of my schools and either do the "12 days of Christmas" or just a different wallpaper each week day. Currently I simply replace (eg) Wallpaper.jpg in \\server1\wallpaper\wallpaper.jpg which the GPO points to. Or about 24 scheduled tasks to run a script? ie DEL \\sever1\wallpaper\wallpaper.jpg COPY \\server1\wallpaper\dec15.jpg RENAME \\server1\wallpaper\dec15.jpg wallpaper.jpg etc I am also aware there are far more important things to be getting on with!
sted Posted November 26, 2012 Posted November 26, 2012 your way looks pretty much the way id do it. did something similar years ago on my pc to change backdrop everytime i booted up it just cycled through 1.jpg/2.jpg and so on renaming x as wallpaper then next time working out which number was missing rename wallpaper as x abd rename x+1 as wallpaper
X-13 Posted November 26, 2012 Posted November 26, 2012 I was actually thinking about setting something like this up. But for seasons/terms. did something similar years ago on my pc to change backdrop everytime i booted up it just cycled through 1.jpg/2.jpg and so on renaming x as wallpaper then next time working out which number was missing rename wallpaper as x abd rename x+1 as wallpaper That's fine when you don't have users who click "shutdown" instead of "logoff".
sted Posted November 26, 2012 Posted November 26, 2012 I was actually thinking about setting something like this up. But for seasons/terms. That's fine when you don't have users who click "shutdown" instead of "logoff". granted but im sure it could be writen something that reads date in and picks pic appropriately worst case date /t >c:\date.txt and interogate it
X-13 Posted November 26, 2012 Posted November 26, 2012 granted but im sure it could be writen something that reads date in and picks pic appropriately worst case date /t >c:\date.txt and interogate it That was my plan. Query "echo %date%", if it fits a certain range [Check for "season/date.txt"] "XCOPY "season/term.jpg"" rename "wallpaper.jpg" make "season/term.txt"
glennda Posted November 26, 2012 Posted November 26, 2012 What i used to do was have the GPO point to a local HTML file which then loaded a image off the server. So on each machine I had desktop.html in a folder on the root of C - for example C:\desktop\desktop.html then a basic html page with img src=\\server\share\image.png and then just changed the image as and when - you could script it to change.
sted Posted November 26, 2012 Posted November 26, 2012 (edited) infact an easier idea point the wallpaper to \\server\share$\wallpaper.jpg and have a scheduled script on server to rename once a day# or if thats too much network traffic just set a startup script (so only runs once per pc every boot not every logon) scheduled script on server to rename script on pc force copies wallpaper.jpg from server every bootup Edited November 26, 2012 by sted
glennda Posted November 26, 2012 Posted November 26, 2012 infact an easier idea point the wallpaper to \\server\share$\wallpaper.jpg and have a scheduled script on server to rename once a day# or if thats too much network traffic just set a startup script (so only runs once per pc every boot not every logon) scheduled script on server to rename script on pc force copies wallpaper.jpg from server every bootup But you get a horrible page if it fails to load for whatever reason, with the HTML you just get a white screen.
Michael Posted November 26, 2012 Posted November 26, 2012 I'd agree with danielson81's method. You can't set Windows Themes via GPO or configure multiple JPGs to change periodically via GPO either as far as I'm aware.
sted Posted November 26, 2012 Posted November 26, 2012 But you get a horrible page if it fails to load for whatever reason, with the HTML you just get a white screen. on win7 you cant use html worst case as long it has run on a client once you will get an old wallpaper
Firefox Posted November 28, 2012 Posted November 28, 2012 Certainly not the simplest way...but if you want extra practice of using GPP, then you could create 1 policy that has 12 entries to replace the file, then under "Item Level Targeting" target by "Date Match" then simply change each entry to target for a different day? I've not tried this, but logic suggests it should work.
clareq Posted November 28, 2012 Posted November 28, 2012 We run our wallpapers from a central location, using a scheduled task on the server to rename the images every 3 days. If a wallpaper doesn't load, the staff then know that the machine isn't on the network. We were having problems with students pulling the network cable halfway through load to bypass security - this is now minimised.
glennda Posted November 28, 2012 Posted November 28, 2012 on win7 you cant use html worst case as long it has run on a client once you will get an old wallpaper Forgot about that!
twin--turbo Posted November 28, 2012 Posted November 28, 2012 have a loog at bginfo BgInfo may do what you want.
danielson81 Posted November 30, 2012 Author Posted November 30, 2012 (edited) Think I've got it, this works on my local PC, so I assume getting a batch file to run as a daily scheduled task would work? REM Delete Existing Wallpaper del c:\wallpapers\current\*.* /q REM Setting random variables set /a myRand=%random%%%10+1 set /a myRand=%random%%%10+1 REM Copy Random file to specified dir. copy wallpaper%myRand%.jpg c:\wallpapers\current REM Renaming file in specified dir to match one specified in GPO rename c:\wallpapers\current\wall*.jpg wallpaper00.jpg So batch file on server... del d:\wallpapers\current\*.* /q set /a myRand=%random%%%10+1 set /a myRand=%random%%%10+1 copy wallpaper%myRand%.jpg d:\wallpapers\current rename d:\wallpapers\current\wall*.jpg wallpaper00.jpg Wheresas d:\wallpapers\current is a share of \\server01\wallpapers GPO points wallpaper to \\server01\wallpaper\current\wallpaper00.jpg Its doesn't pick them in any order, like a advent calendar, but I think it will do! Script above assumes you have 10 images called wallpaper1.jpg, wallpaper2.jpg etc. EDIT - Works fine, is you specify directory in script for Sched. Task etc, so: cd d:\wallpapers d: del "D:\wallpapers\current\*.*" /q set /a myRand=%random%%%10+1 set /a myRand=%random%%%10+1 copy wallpaper%myRand%.jpg "D:\wallpaper\current" rename "D:\wallpaper\current\wall*.jpg" wallpaper00.jpg Edited November 30, 2012 by danielson81
ricki Posted December 2, 2012 Posted December 2, 2012 HI You could use a set of scheduled tasks on the server to copy the jpg to the correct place on the server share for each day of the month then bginfo wiill apply the correct wallpaper . Richard
rabogado Posted April 21, 2018 Posted April 21, 2018 Greetings all! Thanks for this posting! I was able to apply the indicated script every day with 20 wallpaper, however, I have noticed that sometimes the same image is repeated a few times. How can I solve so that the same image is not repeated in those 20 days? so that all the wallpaper will be applied. Greetings and thanks in advance for your answers. Richard
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now