Creating Custom Lock Screen and Wallpaper Images for Devices Using Win32 Packages
Question
Hi All,
I would like to have a lock screen + Wallpaper image made for my devices. There are many ways to do this, but unfortunately it is also often the case that the Wallpaper is locked so that the user cannot change it again.
What is your solution that you have the best experience with?
I would prefer that images are not on a public URL, or Blob storage, but in a win32 package
Posted by Jacob Engelmann Olsen in HTMD FB Group

Answers ( 3 )
Replied by Steve Becker
Do not need azure blob to store images can upload it to the pc
Replied by Mike
This is only I made past 2 years because machines are pro not enterprise, I used power shell under Intune blade, the script will download/saved the background on C drive then script will change it. You can find it thru google
Replied by Jacob Engelmann Olsen
I ended up simply uploading a .jpg to a blob storage, and referencing the file via a configuration profile. Works fine. hope it’s not a wrong way to do it
Replied by Sanjay Mittal
Enterprise windows license / save image to azure and set via policy
Replied by Steven McKenzie
https://cloudinfra.net/how-to-set-desktop-and-lock-screen-wallpaper-using-intune/
For More Details Configure Desktop Wallpaper on Windows Devices using Intune
https://www.anoopcnair.com/desktop-wallpaper-on-windows-using-intune/
Replied by Nikita Lunev
Package as win32 and deploy, it’ll go onto pro devices
Replied by Papa Kash
We copy the file to the c drive and use a config policy to point to the file
Replied by Alexander Deichman
Something like this? You will also need another file to detect successful installation and images but you should be able to get an idea from this one :
$PackageName = “Wallpaper”
$Version = “1a.01”
# Set image file names for desktop background and lock screen
# leave blank if you with not to set either of one
$WallpaperIMG = “img0.jpg”
$LockscreenIMG = “backgroundDefault.jpg”
$CustomFolder = “Branding_ VSM”
Start-Transcript -Path “$env: Program DataMicrosoftIntune Management ExtensionLogs$PackageName-install.log” -Force
$ErrorActionPreference = “Stop”
# Set variables for registry key path and names of registry values to be modified
$RegKeyPath = “HKLM:SOFTWAREMicrosoftWindowsCurrentVersionPersonalization CSP”
$DesktopPath = “Desktop Image Path”
$DesktopStatus = “Desktop Image Status”
$DesktopUrl = “Desktop Image URL”
$LockScreenPath = “Lock Screen Image Path”
$LockScreenStatus = “Lock Screen Image Status”
$LockScreenUrl = “Lock Screen Image URL”
$StatusValue = “1”
# local path of images
$RootPath = “C:WindowsSystem32$CustomFolder”
$WallpaperLocalIMG = “$Root PathDesktop.jpg”
$LockscreenLocalIMG = “$Root PathLockscreen.jpg”
# Check whether both image file variables have values, output warning message and exit if either is missing
if (!$Lock screen IMG -and !$Wallpaper IMG){
Write-Warning “Either Lock screen IMG or Wallpaper IMG must has a value.”
}
else{
# Check whether registry key path exists, create it if it does not
if(!(Test-Path $RegKeyPath)){
Write-Host “Creating registry path: $($RegKeyPath).”
New-Item -Path $RegKeyPath -Force
}
if(!(Test-Path $RootPath)){
Write-Host “Creating root path: $($RootPath).”
New-Item -Path $RootPath -Force -ItemType Directory
}
if ($LockscreenIMG){
Write-Host “Copy lock screen “”$($LockscreenIMG)”” to “”$($LockscreenLocalIMG)”””
Copy-Item “.Data$LockscreenIMG” $LockscreenLocalIMG -Force
Write-Host “Creating reg keys for lock screen”
New-Item Property -Path $RegKeyPath -Name $LockScreenStatus -Value $StatusValue -Property Type DWORD -Force
New-Item Property -Path $RegKeyPath -Name $LockScreenPath -Value $LockscreenLocalIMG -Property Type STRING -Force
New-Item Property -Path $RegKeyPath -Name $LockScreenUrl -Value $LockscreenLocalIMG -Property Type STRING -Force
}
if ($WallpaperIMG){
Write-Host “Copy wallpaper “”$($WallpaperIMG)”” to “”$($WallpaperLocalIMG)”””
Copy-Item “.Data$WallpaperIMG” $WallpaperLocalIMG -Force
Write-Host “Creating reg keys for wallpaper”
New-Item Property -Path $RegKeyPath -Name $DesktopStatus -Value $StatusValue -Property Type DWORD -Force
New-Item Property -Path $RegKeyPath -Name $DesktopPath -Value $WallpaperLocalIMG -Property Type STRING -Force
New-Item Property -Path $RegKeyPath -Name $DesktopUrl -Value $WallpaperLocalIMG -Property Type STRING -Force
}
}
New-Item -Path “C:Program DataVSMValidation$PackageName” -ItemType “file” -Force -Value $Version
Stop-Transcript