如何通过PowerShell脚本为桌面背景和锁屏设置幻灯片播放?
通过Intune部署桌面+锁屏幻灯片的PowerShell解决方案
我需要通过Intune向指定员工部署多张图片,使其同时作为桌面背景和锁屏的幻灯片播放。尝试了以下桌面背景幻灯片脚本,但背景变成了黑色,请问如何用PowerShell脚本实现该需求?
之前尝试的脚本
# 设置图片文件夹路径 $SlideshowFolder = "C:pathtofolder" # 设置幻灯片切换间隔(秒) $SlideshowDuration = 10 # 原注释写的30分钟,数值与注释不符 # 设置过渡效果(0=无过渡,1=淡入淡出) $TransitionType = 1 # 配置桌面背景设置 Set-ItemProperty -Path 'HKCU:\Control Panel\Desktop' -Name Wallpaper -Value "" Set-ItemProperty -Path 'HKCU:\Control Panel\Desktop' -Name WallpaperStyle -Value 6 Set-ItemProperty -Path 'HKCU:\Control Panel\Desktop' -Name TileWallpaper -Value 0 Set-ItemProperty -Path 'HKCU:\Control Panel\Desktop' -Name WallpaperChangeInterval -Value $SlideshowDuration Set-ItemProperty -Path 'HKCU:\Control Panel\Desktop' -Name WallpaperTransition -Value $TransitionType # 通过SystemParametersInfo设置桌面幻灯片文件夹 Add-Type -TypeDefinition @" using System; using System.Runtime.InteropServices; public class PInvoke { [DllImport("user32.dll", CharSet = CharSet.Auto)] public static extern int SystemParametersInfo(int uAction, int uParam, string lpvParam, int fuWinIni); } "@ [PInvoke]::SystemParametersInfo(0x0014, 0, $SlideshowFolder, 0x01) # 刷新桌面应用更改 RUNDLL32.EXE USER32.DLL,UpdatePerUserSystemParameters
修复后的完整脚本(桌面+锁屏幻灯片)
# 配置参数 $SlideshowFolder = "C:\IntuneSlides" # 确保路径格式正确,建议使用系统公共目录或用户专属目录 $SlideshowDuration = 1800 # 30分钟,单位为秒 $TransitionType = 1 # 1=淡入淡出,0=无过渡 $ShuffleSlides = 1 # 1=随机播放,0=顺序播放 # -------------------------- 桌面幻灯片配置 -------------------------- # 验证目标文件夹是否存在,不存在则创建(Intune部署时建议提前通过Win32包推送图片) if (-not (Test-Path $SlideshowFolder)) { New-Item -Path $SlideshowFolder -ItemType Directory -Force | Out-Null } # 设置桌面背景核心注册表项 Set-ItemProperty -Path 'HKCU:\Control Panel\Desktop' -Name Wallpaper -Value "" -Force Set-ItemProperty -Path 'HKCU:\Control Panel\Desktop' -Name WallpaperStyle -Value 6 -Force # 6=拉伸适配屏幕 Set-ItemProperty -Path 'HKCU:\Control Panel\Desktop' -Name TileWallpaper -Value 0 -Force # 0=不平铺 Set-ItemProperty -Path 'HKCU:\Control Panel\Desktop' -Name WallpaperChangeInterval -Value $SlideshowDuration -Force Set-ItemProperty -Path 'HKCU:\Control Panel\Desktop' -Name WallpaperTransition -Value $TransitionType -Force Set-ItemProperty -Path 'HKCU:\Control Panel\Desktop' -Name Shuffle -Value $ShuffleSlides -Force # 关键:补充系统识别幻灯片路径的注册表项(原脚本遗漏此步骤) Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Wallpapers' -Name SlideshowPath -Value $SlideshowFolder -Force Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Wallpapers' -Name SlideshowEnabled -Value 1 -Force # 调用系统API刷新桌面设置 Add-Type -TypeDefinition @" using System; using System.Runtime.InteropServices; public class DesktopUtils { [DllImport("user32.dll", CharSet = CharSet.Auto)] public static extern bool SystemParametersInfo(uint uiAction, uint uiParam, string pvParam, uint fWinIni); } "@ # SPI_SETDESKWALLPAPER = 0x0014, SPIF_UPDATEINIFILE = 0x01, SPIF_SENDCHANGE = 0x02 [DesktopUtils]::SystemParametersInfo(0x0014, 0, $SlideshowFolder, 0x03) # -------------------------- 锁屏幻灯片配置 -------------------------- # 设置锁屏幻灯片注册表项(需Windows 10 1607+/Windows 11专业版及以上) Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Lock Screen' -Name SlideshowEnabled -Value 1 -Force Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Lock Screen' -Name SlideshowImagesFolderPath -Value $SlideshowFolder -Force Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Lock Screen' -Name SlideshowImageChangeInterval -Value $SlideshowDuration -Force Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Lock Screen' -Name SlideshowShuffleImages -Value $ShuffleSlides -Force # 重启资源管理器使锁屏设置生效 Stop-Process -Name explorer -Force Start-Process explorer
关键修复与说明
- 路径格式修正:原脚本中
C:pathtofolder缺少反斜杠,必须使用C:\path\to\folder的标准格式 - 补充核心注册表项:新增
HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Wallpapers下的配置,这是系统识别幻灯片路径的关键 - 锁屏功能适配:添加锁屏幻灯片专属注册表配置,实现桌面与锁屏同步播放
- 参数校准:将原脚本中错误的10秒间隔改为1800秒(30分钟),与注释保持一致
- 路径验证:增加文件夹存在性检查,避免因路径不存在导致黑屏
Intune部署注意事项
- 图片前置部署:先通过Win32应用包将图片文件夹推送至目标设备(如
C:\ProgramData\IntuneSlides),确保脚本运行时图片已存在 - 运行上下文:脚本需以用户上下文在Intune中部署,所有配置项均位于当前用户注册表(
HKCU)下 - 系统版本要求:锁屏幻灯片功能仅支持Windows 10 1607及以上、Windows 11版本
- 测试优先:先在单台设备验证脚本效果,确认正常后再批量推送
内容的提问来源于stack exchange,提问作者user10160459
相关产品推荐
相关产品推荐

