2015-11-06 36 views
0

有沒有辦法設置登錄到Windows 10的新用戶的默認壁紙?我提供了下面的腳本,但僅適用於當前用戶。這可以爲任何登錄的用戶設置它嗎?Windows 10爲任何登錄的人設置默認壁紙?

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

使用它作爲機器上所有用戶的登錄腳本 –

+0

謝謝,但我想只是設置一次,我不想強​​迫它每次登錄時都要更改,因爲我希望用戶能夠設置他們自己也 – user1342164

回答

0

你可以通過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 
} 
+0

謝謝你的腳本似乎沒有錯誤地正常工作,但我作爲一個不同的用戶登錄和即使在重新啓動後壁紙也不會改變 – user1342164

+0

你用-All開關運行它嗎? –

+0

喜歡這個? Set-ItemProperty -Path'HKCU:\ Control Panel \ Desktop \'-Name wallpaper -Value $ WallPaperFile.FullName -all – user1342164