使用Powershell在Windows 10中更改锁屏图片

4

简单明了地讲,我正在尝试创建一个PowerShell脚本,在Windows 10中更改锁定屏幕背景图像。我已经做了研究,以下是我的发现:

    $path = "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Personalization" 
$img =  "Lock Screen File Path"

Set-ItemProperty -Path $path -Name LockScreenImage -value $img

这是一个简单的方法,可以完成我的目标,但它指向注册表,我认为改变注册表不是做这件事的正确方式。经过更多的研究,我找到了另一条文件路径:

        $path = "C:\ProgramData\Microsoft\Windows\SystemData\{SID}\ReadOnly\LockScreen_B" 

无法访问此路径。

如何使用 Powershell 在不涉及注册表的情况下简单地更改 Windows 10 上的锁屏?


更新注册表有什么问题吗?那里存储了锁屏图片的值。要更新文件夹路径,您可能需要将PowerShell提升为管理员以获得访问权限。 - Jason Snell
个性化文件夹在注册表中不存在。我可以创建它并使其工作,但我的想法是尽量不自定义注册表设置,除非是最后的手段。我可以手动转到个性化>锁定屏幕并单击更改,但希望将其包括在脚本中要做的事情列表中,在系统上放置新镜像后执行。 - MarkFro
如果您改变主意并能够更改注册表,则可以使用此模块实现您想要的功能:https://www.powershellgallery.com/packages/ProductivityTools.PSSetLockScreen/ - Pawel Wujczyk
1个回答

0

使用Powershell,最简单的方法是修改注册表项,但还有其他几个选项可用。

让我们从可怕的注册表项开始:

Set-ItemProperty -path 'HKCU:\Control Panel\Desktop\' -name wallpaper -value $value
rundll32.exe user32.dll, UpdatePerUserSystemParameters

只需将上述的$value变量更改为您想要用作桌面背景的图像路径即可。

您还可以使用下面的CMD行(也可以在Powershell中运行)更改桌面的“主题”:

rundll32.exe %SystemRoot%\system32\shell32.dll,Control_RunDLL %SystemRoot%\system32\desk.cpl desk,@Themes /Action:OpenTheme /file:""YOUPATH to the .theme"""

只需将其指向设置所需的自定义主题的正确路径。

最后一个选项是我发现的一个EXE,但是无法真正确认其有效性,因此我不会链接它(也不符合Powershell标准!)。

注意:我知道您说不要编辑注册表,但这确实是最简单的方法。如果您发现自己经常这样做,请将注册表条目甚至图像文件添加到您的生成映像中,尽管可能有点过度了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接