Hintergrundbild trotz GroupPolicy ändern (Windows 10)

Gerade in Firmennetzwerken wird das Windows Hintergrundbild oftmals über GroupPolicy zentral gesteuert und kann nicht geändert werden. Geht man in die entsprechende Systemsteuerung, sieht das oftmals so aus:
Einige Einstellungen werden von Ihrer Organisation verwaltet

Auf normalem Weg gibt es also keine Möglichkeit das Hintergrundbild (Wallpaper) zu verändern. Aber es gibt natürlich noch andere Wege...

Wo finden wir das Hintergrundbild

In der Regel befindet sich das verteilte Hintergrundbild in folgendem Ordner: C:\Users\(dein.Benutzername)\AppData\Roaming\Microsoft\Windows\Themes\TranscodedWallpaper
Öffnet man dieses TranscodedWallpaper mit einem Bildbetrachter Tool sieht man, dass dies ein normales Bild ist - nur ohne Dateiendung. Da dieses Bild in eurem eigenen Benutzerverzeichnis liegt habt Ihr auch die Berechtigung es zu überschreiben.

Das Überschreiben allein reicht aber leider nicht aus - denn Microsoft aktualisiert das Hintergrundbild eures Windows Desktops nur nach der Anmeldung. Die Firmen-GPO (Group Policy) wird das Bild nach jeder Anmeldung jedoch wieder durch die zentrale Version des Wallpapers überschreiben. Wir benötigen also noch eine Möglichkeit, den Desktop direkt nach dem Login zu aktualisieren.

Der Trick mit dem virtuellen Desktop

Was ich dazu gefunden habe ist eine Lösung mit virtuellen Desktops. Windows 10 bietet die Möglichkeit, virtuelle Desktops anzulegen und zu nutzen. 
Ihr besorgt euch das kleine Tool "Virtual Desktop Manager"
https://github.com/m0ngr31/VirtualDesktopManager

Dieses Tool benötigt keine Installation und kann direkt in euren Autostart eingebunden werden. Es macht erstmal nichts anderes als euch anzuzeigen, auf welchem virtuellen Desktop Ihr euch befindet.

Um nun einen zweiten Desktop anzulegen drückt Ihr die Windows + Tab Taste. Nun erscheint unten rechts ein Button "+ Neuer Desktop". Damit legt Ihr einen zweiten Desktop an.

Jetzt startet Ihr das Virtual Desktop Manager Tool - wenn nicht schon geschehen. Ein Rechtsklick mit der Maus auf das Icon in der Taskleiste bringt euch zu den Settings. Hier fügt Ihr einfach irgend ein weiteres Hintergrundbild hinzu und klickt auf Save. Welches Bild hier gesetzt ist spielt keine Rolle, da dieses Bild nicht entscheidend ist und auch nicht angezeigt wird. Das Tool selbst sorgt so nur dafür, das der Desktop neu gezeichnet wird und euer überschriebenes TranscodedWallpaper Bild gezeigt wird.

Hintergrundbild (Wallpaper) nach jedem Login automatisch überschreiben

Jetzt wollen wir das ganze noch automatisieren. Ziel ist es, Zufällig aus einem Pool an Hintergrundbildern nach jedem Login immer eines zu setzen.

Dies erledigen wir mit der PowerShell. Da in den meisten Firmenumgebungen das Ausführen von nicht signierten Scripten wahrscheinlich nicht zulässig ist, können wir kein PowerShell Script direkt schreiben. Aber es geht auch ohne.

Legt euch dazu in einem Ordner eurer Wahl (am besten irgendwo in eurem Benutzerverzeichnis) folgendes Textfile an:

$ErrorActionPreference= 'silentlycontinue'
# all wallpaper images in your user/Pictures/Wallpaper folder will be used
$wallFolder = $env:USERPROFILE+"\Pictures\Wallpaper"
# count number of images in your user/Pictures/Wallpaper folder
# image format must be: img1.jpg, img2.jpg ...
$numberOfWallpapers = ( Get-ChildItem $wallFolder | Measure-Object ).Count;
# random number to select a image
$randNr = Get-Random -Minimum 1 -Maximum $numberOfWallpapers
# copy Wallpaper to windows folder
copy-item $wallFolder\img_$randNr.jpg -destination "C:\Users\EUERBENUTZERVERZEICHNISS\AppData\Roaming\Microsoft\Windows\Themes\TranscodedWallpaper"

EUERBENUTZERVERZEICHNISS müsst Ihr dabei natürlich noch durch euren Benutzernamen ersetzen. Eigentlich sollte hier auch $env:USERPROFILE gehen. Ich habe jedoch einige Rückmeldungen bekommen, dass dies nicht immer funktioniert. Daher hier mal die sichere Variante.

Im selben Verzeichnis benötigt Ihr nun noch eine cmd Datei. Bei mir z.B. eine Wallpaper.cmd mit folgendem Inhalt:

powershell.exe<C:\Users\mirko.hufnagel\Documents\WallpaperSwitch\WallpaperSwitch.txt

Unterhalb eures user/Pictures/Wallpaper Verzeichnisses müsst Ihr nun natürlich noch eure Hintergrundbilder ablegen. Bei mir sieht das dann so aus:




Und nun - das Finale mit der Aufgabenplanung

Und jetzt wird alles zusammen gebaut. Mit Hilfe der Aufgabenplanung legt Ihr einen neuen Job an, der euch die Kopierarbeit abnimmt und für ein wechselndes Hintergrundbild sorgt.

Der Trigger für die Aufgabe ist dabei eure Anmeldung.
Die Aktion ist der Programmstart eurer CMD Datei.

Das wars auch schon. Zum Testen könnt Ihr die CMD Datei einfach über einen Doppelklick ausführen. Wundert euch nicht - das Hintergrundbild ändert sich dadurch noch nicht. Wechselt Ihr jetzt jedoch mit Hilfe der Tastenkombination Strg + Windows + Pfeiltasten nach links/rechts zwischen den virtuellen Desktops, so sollte sich das Hintergrundbild nun erneuern.

Viel Spaß


Kommentare

  1. Wenn ich VirtualDesktopManager über deinen Link runterlade dann ist leider keine .exe Datei dabei. Wie kann ich nun VirtualDesktopManager öffnen?

    AntwortenLöschen
  2. Stimmt - das Projekt ist etwas älter, vielleicht haben sie das rausgenommen. Ich habs hier zum Download gestellt in der letzten Version:
    http://linuxart.de/VirtualDesktopManager.-.1.9.0.zip

    AntwortenLöschen
    Antworten
    1. auf github gibt es das weiterhin.... man muss nur auf "Releases" klicken, dann zieht man die zip zum downloaden... habe auch etwas gesucht

      Löschen

Kommentar veröffentlichen

Beliebte Posts aus diesem Blog

SMA Wechselrichter / Daten der Photovoltaik Anlage und einer BYD Batterie auslesen

CloudRadar - mailq check with Python