You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Intune部署的PowerShell壁纸脚本以允许用户自定义壁纸

解决Intune部署壁纸后用户无法修改的问题

你的问题根源在于HKLM路径下的PersonalizationCSP注册表项——这是MDM用来强制配置系统级设置的,一旦设置后会锁定用户的个性化修改权限,导致用户没法自行更换壁纸。下面提供两种可行方案:

方案一:修改现有脚本,仅设置初始壁纸(不强制锁定)

把原来针对HKLM的系统级注册表操作,改成对**HKCU(当前用户)**的个性化项操作,这样只给用户设置初始壁纸,不会限制后续修改。修改后的脚本如下:

$RegKeyPath = "HKCU:\Control Panel\Desktop"
$DesktopPath = "Wallpaper"
$DesktopStyle = "WallpaperStyle" # 0=居中, 1=平铺, 2=拉伸
$TileWallpaper = "TileWallpaper" # 0=不平铺, 1=平铺
$url = "https://example.png"
$DesktopImageValue = "C:\MDM\example.png"
$directory = "C:\MDM"

# 创建MDM存储目录
If ((Test-Path -Path $directory) -eq $false){
  New-Item -Path $directory -ItemType directory
}

# 下载壁纸文件
$wc = New-Object System.Net.WebClient
$wc.DownloadFile($url, $DesktopImageValue)

# 设置用户级壁纸注册表项
New-ItemProperty -Path $RegKeyPath -Name $DesktopPath -Value $DesktopImageValue -PropertyType STRING -Force | Out-Null
New-ItemProperty -Path $RegKeyPath -Name $DesktopStyle -Value 2 -PropertyType STRING -Force | Out-Null
New-ItemProperty -Path $RegKeyPath -Name $TileWallpaper -Value 0 -PropertyType STRING -Force | Out-Null

# 刷新系统参数生效
RUNDLL32.EXE USER32.DLL, UpdatePerUserSystemParameters 1, True

方案二:创建清理脚本,解除HKLM的强制锁定

如果已经用旧脚本完成部署,需要先清理HKLM下的PersonalizationCSP项,解除系统级锁定,用户就能正常修改壁纸了。脚本如下:

$RegKeyPath = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\PersonalizationCSP"

# 删除强制配置的注册表项
If (Test-Path -Path $RegKeyPath){
  Remove-Item -Path $RegKeyPath -Recurse -Force
}

# 刷新系统参数让锁定解除生效
RUNDLL32.EXE USER32.DLL, UpdatePerUserSystemParameters 1, True

注意事项

  • 方案一适合新部署场景,给用户设置初始壁纸但保留修改权限;
  • 方案二适合已部署旧脚本的场景,先解除锁定再让用户自行操作;
  • Intune推送脚本时,HKLM操作需要系统权限,HKCU操作可用用户权限或系统权限(系统权限下对所有用户生效)。

内容的提问来源于stack exchange,提问作者Ryu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 07:53:13