Windows 10是否为登录者设置默认壁纸?

Windows 10是否为登录者设置默认壁纸?,windows,powershell,wallpaper,Windows,Powershell,Wallpaper,有没有办法为登录windows 10的新用户设置默认壁纸?我提供了下面的脚本,但只适用于当前用户。这是否可以为任何登录的用户设置它 Function Set-WallPaper($Value) { Set-ItemProperty -path 'HKCU:\Control Panel\Desktop\' -name wallpaper -value $value rundll32.exe user32.dll, UpdatePerUserSystemParameters }

有没有办法为登录windows 10的新用户设置默认壁纸?我提供了下面的脚本,但只适用于当前用户。这是否可以为任何登录的用户设置它

Function Set-WallPaper($Value)
 {
    Set-ItemProperty -path 'HKCU:\Control Panel\Desktop\' -name wallpaper -value $value
    rundll32.exe user32.dll, UpdatePerUserSystemParameters
 }

您可以通过
HKEY_USERS
配置单元访问所有加载的用户注册表配置单元

它不会像
HKCU:
HKLM:
那样自动装载,但您可以通过提供程序限定的路径访问它,如下所示:

Get-ChildItem -Path Registry::HKEY_USERS
我还建议您正确声明参数:

function Set-WallPaper
{
    param(
        [Parameter(Mandatory=$true)]
        [System.IO.FileInfo]$WallPaperFile,

        [Parameter(Mandatory=$false)]
        [switch]$All
    )

    if($All){
        foreach($UserHive in Get-ChildItem Registry::HKEY_USERS){
            $DesktopKeyPath = (Join-Path $UserHive.PSPath "Control Panel\Desktop")
            if(Test-Path $DesktopKeyPath){
                Set-ItemProperty -Path $DesktopKeyPath -Name Wallpaper -Value $WallPaperFile.FullName
            }
        }
    } else {
        Set-ItemProperty -Path 'HKCU:\Control Panel\Desktop\' -Name wallpaper -Value $WallPaperFile.FullName
    }

    rundll32.exe user32.dll, UpdatePerUserSystemParameters
}

由于某些原因,注册表项不能与Windows 10中的新配置文件一起使用。其他一些设置过程将其破坏。我见过一些脚本,其中default.jpg是可写的,然后被替换

将其用作machineThanks上所有用户的登录脚本,但我只想设置一次,我不想每次用户登录时都强制更改它,因为我希望用户也能够设置自己的登录脚本感谢您脚本似乎工作正常,没有错误,但我作为其他用户登录,即使在登录后墙纸也不会更改重新启动你是用-All开关运行的吗?像这样?Set ItemProperty-Path'HKCU:\Control Panel\Desktop\'-Name wallpaper-Value$WallPaperFile.FullName-allNo,
Set wallper-All
我尝试了将wallper-All-wallper文件设置为“Pathtowallpaper”,但仍然没有成功。windows 10不确定这是否重要