Como alterar o plano de fundo da área de trabalho de um usuário específico em um arquivo em lote

Como alterar o plano de fundo da área de trabalho de um usuário específico em um arquivo em lote

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_USERSmas 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_USERSseçã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.

informação relacionada