Skip to main content

Windows Wallpaper via CSP Personalization

Description

This article explains how to enforce and remove a desktop and/or lock screen wallpaper on Windows 10 and Windows 11 devices using the MDM Personalization CSP through PowerShell. These scripts leverage the WMI Bridge Provider, allowing configuration at the device level via FileWave without requiring Active Directory Group Policy.

Two PowerShell scripts are provided:

  • Wallpaper Deployment Script: Applies a desktop and/or lock screen image.

  • Wallpaper Removal Script: Removes the applied configuration, returning wallpaper control to the end user.

These scripts are designed for deployment through FileWave as a Custom Fileset and run under the SYSTEM account to ensure MDM Bridge access. This is provided for those who don't use Windows MDM but want to still push a CSP. 

Ingredients

  • FileWave Central
  • Windows 10/11 Enterprise or Education (Pro supported only if SharedPC Edu Policies are applied)

  • SYSTEM-level PowerShell execution (default for FileWave scripts but important for testing outside of FileWave)

  • Custom wallpaper image(s) deployed via FileWave

Example Wallpaper Fileset
FileWave Download.png

Windows Wallpaper.fileset.zip

Directions

Configure the Wallpaper Deployment script

    1. In FileWave Central, import the attached Fileset, and we will use it for this example.

    2. Use the example Windows Fileset to edit the PowerShell Activation Script. (Filesets -> Select Fileset -> Scripts -> Select the script -> Right Click -> Properties)

      image.png



    3. Configure Environment Variables on the Executable tab of properties for the script:

      • DESKTOP_IMAGE_URL = file:///C:/ProgramData/FileWave/wallpaper/FileWaveDark.jpg

      • (Optional) LOCKSCREEN_IMAGE_URL = same or alternate image URI

        NOTE: The files should either already exist, or you should include them in the Fileset
        PersonalizationScript.png

    4. Associate the Fileset.ExampleFileset.png

    5. Deploy the wallpaper; verify in logs, example output:

[2025-10-30T16:20:32] [INFO] Normalized DesktopImageUrl -> file:///C:/ProgramData/FileWave/wallpaper/FileWaveDark.jpg
[2025-10-30T16:20:33] [INFO] Setting DesktopImageUrl: file:///C:/ProgramData/FileWave/wallpaper/FileWaveDark.jpg
[2025-10-30T16:20:33] [INFO] CSP values committed via WMI Bridge.
[2025-10-30T16:20:43] [INFO] DesktopImageStatus=1 (Success)
[2025-10-30T16:20:43] [INFO] Wallpaper configuration completed.

Screenshot 2025-10-30 153831.png

Configure the Wallpaper Removal script

  1. Configure the Windows Wallpaper Fileset.

  2. If you look at the example Windows Fileset in the scripts dialog, you will see the Post-Uninstallation script. Keep in mind that by default, with the example Fileset, it will uninstall the wallpaper if you remove the Deployment/Association, so you may want to review these steps to make sure it is how you want. You could also take this script and make it an Activation Script in its own Fileset that you could deploy when you want to clear the managed wallpaper. 

    image.png

  3. Configure optional Environment Variables:

    • CLEAR_DESKTOP = true|false

    • CLEAR_LOCKSCREEN = true|false

    • REG_CLEANUP = true (recommended)

    • RESTART_EXPLORER = true (optional, for immediate effect)
      RemovePersonalizationScript.png

  4. Associate this Fileset with a device to set the Wallpaper and/or Lock Screen. Remove the Association/Deployment and see it removed when the removal script runs.

Expected log output:

[2025-10-30T16:09:26] [INFO] Wallpaper removal script initiated.
[2025-10-30T16:09:26] [INFO] Options: CLEAR_DESKTOP=True, CLEAR_LOCKSCREEN=True, REG_CLEANUP=True, RESTART_EXPLORER=True
[2025-10-30T16:09:27] [INFO] Connected to MDM Bridge Provider successfully.
[2025-10-30T16:09:27] [INFO] Cleared DesktopImageUrl via null assignment (CSP Delete).
[2025-10-30T16:09:27] [WARN] Null clear failed for LockScreenImageUrl. Trying empty string...
[2025-10-30T16:09:27] [ERROR] Failed to clear LockScreenImageUrl. The requested operation is not supported.
[2025-10-30T16:09:27] [INFO] DesktopImageUrl now='' (Status= Unknown)
[2025-10-30T16:09:27] [INFO] LockScreenImageUrl now='' (Status= Unknown)
[2025-10-30T16:09:27] [INFO] Restarting Explorer shell...
[2025-10-30T16:09:27] [INFO] Explorer restarted.
[2025-10-30T16:09:27] [INFO] Wallpaper policy removal completed successfully.

Notes

  • Both scripts must execute as SYSTEM to access the MDM Bridge Provider.

  • Enterprise/Education SKUs support these CSPs natively; Pro requires SharedPC Edu Policies.

  • Image URIs must be valid:

    • For local paths → file:///C:/path/to/image.jpg

    • For network/HTTP → https://domain.com/wallpaper.jpg

  • Using file:/// path improves reliability because it doesn’t rely on external network access, and if you use https:// you should only use a URL that is on a server you control because otherwise that image could go away or could change at any time..

  • When enforced via CSP, the wallpaper is locked, and users cannot change it until the CSP node is cleared.

  • Registry mirror cleanup ensures Settings no longer display stale wallpaper values.