Cómo cambiar el fondo del escritorio de un usuario específico en un archivo por lotes

Cómo cambiar el fondo del escritorio de un usuario específico en un archivo por lotes

Posible duplicado:
Programe el cambio de fondo de pantalla de Windows XP sin aplicaciones adicionales Creo que esto no es un duplicado porque pregunté cómo cambiar el fondo de un usuario diferente al que inició sesión actualmente. Ya sé cómo hacer eso. Por favor vote para reabrir mi pregunta.

Me preguntaba cómo cambiar el fondo del escritorio de un usuario específico. Entiendo que hay que investigar HKEY_USERSpero no sé adónde ir a partir de ahí. También necesito hacer esto en un archivo por lotes. Esto es para windows xp.

Respuesta1

Esto se puede hacer con 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

Explicación:

  • La primera línea obtiene la información del usuario determinado mediante WMI. Específicamente, necesita el SID que identifica a este usuario en la HKEY_USERSsección del registro. Para más información, verObtener-WMIObject,Clase Win32_UserAccountyConsultando con WQL.
  • La segunda línea simplemente crea la ruta a la clave de registro correcta.
  • La tercera línea establece el valor de la entrada dada bajo la clave de registro dada. VerEstablecer propiedad del elementopara más información.
  • La cuarta línea obliga a actualizar el fondo de pantalla. Esto solo es necesario si el usuario especificado ha iniciado sesión y necesita que el cambio entre en vigor inmediatamente.

información relacionada