배치 파일에서 특정 사용자의 바탕 화면 배경을 변경하는 방법

배치 파일에서 특정 사용자의 바탕 화면 배경을 변경하는 방법

가능한 중복:
추가 앱 없이 Windows XP 배경화면 변경 예약 현재 로그인한 사용자가 아닌 다른 사용자의 배경을 변경하는 방법을 문의했기 때문에 중복이 아닌 것 같습니다. 나는 이미 그 방법을 알고 있습니다. 내 질문을 다시 열려면 투표해 주세요.

특정 사용자의 바탕 화면 배경을 변경하는 방법이 궁금합니다. 조사해야한다는 것을 이해 HKEY_USERS하지만 거기에서 어디로 가야할지 모르겠습니다. 배치 파일에서도 이 작업을 수행해야 합니다. 윈도우 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를 사용하여 지정된 사용자 정보를 가져옵니다. 특히 HKEY_USERS레지스트리 하이브 에서 이 사용자를 식별하는 SID가 필요합니다 . 자세한 내용은 다음을 참조하세요.Get-WMIObject,Win32_UserAccount 클래스그리고WQL로 쿼리.
  • 두 번째 줄은 단순히 올바른 레지스트리 키에 대한 경로를 작성합니다.
  • 세 번째 줄은 주어진 레지스트리 키 아래에 있는 주어진 항목의 값을 설정합니다. 보다Set-ItemProperty자세한 내용은.
  • 네 번째 줄은 배경화면을 강제로 새로 고칩니다. 이는 지정된 사용자가 로그인되어 있고 변경 사항을 즉시 적용해야 하는 경우에만 필요합니다.

관련 정보