如何在批次檔中變更特定使用者的桌面背景

如何在批次檔中變更特定使用者的桌面背景

可能的重複:
無需其他應用程式即可安排 Windows XP 桌布更換 我認為這不是重複的,因為我問如何更改不同使用者的背景,而不是目前登入的使用者的背景。我已經知道該怎麼做了。請投票重新討論我的問題。

我想知道如何更改特定用戶的桌面背景。我知道你必須調查,HKEY_USERS但我不知道從哪裡開始。我也需要在批次檔中執行此操作。這是針對 Windows XP 的。

答案1

這可以使用 PowerShell 來完成:

$user = Get-WMIObject -Query "select * from Win32_UserAccount where Name='<username>'"
$path = 'Registry::HKEY_USERS\' + $user.SID + '\Control Panel\Desktop\'
Set-ItemProperty -path $path -name Wallpaper -value 'C:\path\to\wallpaper.jpg'
rundll32.exe user32.dll UpdatePerUserSystemParameters

解釋:

  • 第一行使用 WMI 取得給定使用者的資訊。具體來說,您需要在註冊表配置單元下標識該使用者的 SID HKEY_USERS。有關更多信息,請參閱取得 WMIObject,Win32_UserAccount 類使用 WQL 查詢
  • 第二行只是建立正確登錄項目的路徑。
  • 第三行設定給定註冊表項下給定條目的值。看設定項目屬性了解更多。
  • 第四行強制刷新壁紙。僅當指定使用者已登入並且您需要變更立即生效時才需要執行此操作。

相關內容