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

0
34
Asked By CurlyPineapple42 On

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?

2 Answers

Answered By TechSavant7 On

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.

Answered By SkyRocket79 On

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.

Related Questions

LEAVE A REPLY

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.