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

1

Eu queria saber como alterar o plano de fundo da área de trabalho de um usuário específico. Eu entendo que você tem que olhar para HKEY_USERS mas eu não sei para onde ir a partir daí. Eu preciso fazer isso em um arquivo de lote também. Isto é para o windows xp.

    
por Nick 30.05.2012 / 13:17

1 resposta

2

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 fornecido usando o WMI. Especificamente, você precisa do SID que identifica esse usuário na seção HKEY_USERS do registro. Para obter mais informações, consulte Get-WMIObject , Win32_UserAccount class e Consultando com WQL .
  • A segunda linha simplesmente constrói o caminho para a chave de registro correta.
  • A terceira linha define o valor da entrada fornecida sob a chave de registro fornecida. Consulte Set-ItemProperty para obter mais informações.
  • A quarta linha força uma atualização do papel de parede. Isso é necessário apenas se o usuário especificado estiver conectado e você precisar que a alteração entre em vigor imediatamente.
por 30.05.2012 / 13:52