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_USERS
pero 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_USERS
secció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.