1

Возможный дубликат:
Расписание смены обоев Windows XP без дополнительных приложений. Я думаю, что это не дубликат, потому что я спросил, как изменить фон другого пользователя, а не текущего, вошедшего в систему. Я уже знаю, как это сделать. Пожалуйста, проголосуйте, чтобы снова открыть мой вопрос.

Мне было интересно, как изменить фон рабочего стола конкретного пользователя. Я понимаю, что вы должны посмотреть на HKEY_USERS но я не знаю, куда идти дальше. Мне нужно сделать это в пакетном файле тоже. Это для Windows XP.

1 ответ1

2

Это можно сделать с помощью 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 . Для получения дополнительной информации см. Раздел Get-WMIObject, класс Win32_UserAccount и запрос с помощью WQL .
  • Вторая строка просто строит путь к правильному ключу реестра.
  • Третья строка устанавливает значение данной записи в данном разделе реестра. См. Set-ItemProperty для получения дополнительной информации.
  • Четвертая строка заставляет обновить обои. Это необходимо только в том случае, если указанный пользователь вошел в систему, и вам нужно, чтобы изменения вступили в силу немедленно.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .