How to Successfully Deploy a Lock Screen Wallpaper with Intune on Windows 11 Pro?

September 22, 2025 2 answers
Asked by CurlyPineapple42
I'm trying to set a lock screen wallpaper for multiple devices using Intune, but I'm stuck because we only have Windows 11 Pro, not Enterprise. I've looked through various Reddit threads and tutorials, and even wrote up a PowerShell script that works perfectly when I run it manually. Here's what I have: ```powershell $RegistryPath = "HKLMSOFTWAREMicrosoftWindowsCurrentVersionPersonalizationCSP" $RegistryPathPs = "HKLM:SOFTWAREMicrosoftWindowsCurrentVersionPersonalizationCSP" $LockScreenPath = "$env:ProgramDataPDXLockScreenPDXHandLogon3860px.jpg" # Create the key if it doesn't exist if (-not (Test-Path $RegistryPathPs)) { New-Item -Path $RegistryPathPs -Force | Out-Null Write-Host "Registry key created: $RegistryPathPs" } else { Write-Host "Registry key already exists: $RegistryPathPs" } # Set Lock Screen reg.exe add $RegistryPath /v "LockScreenImagePath" /t REG_SZ /d $LockScreenPath /f reg.exe add $RegistryPath /v "LockScreenImageUrl" /t REG_SZ /d $LockScreenPath /f reg.exe add $RegistryPath /v "LockScreenImageStatus" /t REG_SZ /d "1" /f ``` When I wrap it in a Win32 app and deploy it through Intune, the logs say it created the registry key and added the values successfully. However, when I check the registry later, I can't find either the PersonalizationCSP key or the values, and the lock screen remains the default one. Does anyone know why this might be happening?

Answers

SkyRocket79
In my script, I handle lock screen wallpaper setup like this: ```powershell New-Item -Path $RegKeyPath -Force | Out-Null New-ItemProperty -Path $RegKeyPath -Name $LockScreenPath -Value $LockScreenImageValue -PropertyType STRING -Force | Out-Null ``` Make sure you're doing the same to directly create those properties rather than relying solely on reg.exe. It could help streamline the process.

CurlyPineapple42: Thanks for the suggestion! I was using reg.exe just in case, but I'll definitely try your wayโ€”seems more straightforward.

Reply to this answer
TechSavant7
It sounds like you might be hitting a snag with the PowerShell execution. Win32 app deployments typically run 32-bit PowerShell, which sends your registry entries to the WOW6432Node instead of the regular registry. Try adding this line at the start of your script to switch to the 64-bit version: ```powershell If ($ENV:PROCESSOR_ARCHITEW6432 -eq "AMD64") { &"$ENV:WINDIRSysNativeWindowsPowershellv1.0PowerShell.exe" -File $PSCOMMANDPATH } ``` This should ensure your entries land in the correct registry location. Hope this helps!

CurlyPineapple42: That was exactly the missing puzzle piece! I was troubleshooting in completely the wrong direction. Thanks for pointing that out! Testing it out now.

CodeNinja221: Just to follow up, I ran into the same issues and switching to 64-bit PowerShell did the trick. I ended up adapting my script to use commands that specifically target the 64-bit environment.

Reply to this answer

Add your answer

Answers are reviewed before publication.

Related Discussions