Possível duplicata:
Agende a mudança do papel de parede do Windows XP sem aplicativos adicionais Acho que não é uma duplicata porque perguntei como alterar o plano de fundo de um usuário diferente e não do atual conectado. Eu já sei como fazer isso. Por favor, vote para reabrir minha pergunta.
Fiquei me perguntando como alterar o plano de fundo da área de trabalho de um usuário específico. Eu entendo que você precisa investigar, HKEY_USERS
mas não sei para onde ir a partir daí. Eu preciso fazer isso em um arquivo em lote também. Isto é para Windows XP.
Responder1
Isso pode ser feito com o 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
Explicação:
- A primeira linha obtém as informações do usuário usando WMI. Especificamente, você precisa do SID que identifica esse usuário na
HKEY_USERS
seção do registro. Para mais informações, vejaObter-WMIObject,Classe Win32_UserAccounteConsultando com WQL. - A segunda linha simplesmente cria o caminho para a chave de registro correta.
- A terceira linha define o valor da entrada fornecida na chave de registro fornecida. VerDefinir-ItemPropertyPara maiores informações.
- A quarta linha força uma atualização do papel de parede. Isso só será necessário se o usuário especificado estiver conectado e você precisar que a alteração entre em vigor imediatamente.