A melhor maneira de adicionar chaves e valores HKCU para todos os usuários existentes e todos os novos usuários?

11

Eu preciso adicionar chaves e valores HKCU a todas as máquinas em uma OU específica, para todos os perfis de usuário existentes e para o perfil padrão. Qual é a melhor maneira de abordar isso?

Eu poderia enumerar e iterar em todos os NTUSER.DATs, carregando a seção, adicionando as chaves e descarregando a seção, mas isso parece ser uma maneira desajeitada de fazer isso.

Alguém tem uma ideia melhor? Eu gostaria de fazer script (PowerShell, de preferência) e empurrar as alterações, se possível, mas os scripts de logon da política de grupo também funcionariam.

    
por Doug Chase 22.05.2009 / 15:42

2 respostas

13

Meu método preferido é usar o Active Setup. O que acontece, é verificar quando um usuário faz login em uma máquina, se tiver executado um script ou comando específico (como o que você teria) e, se não, execute-o. Portanto, você só executará um script específico para um usuário uma vez em sua estação de trabalho. Eu achei isso perfeito para escrever para HKCU, porque você não tem que carregar cada seção e somente as contas que as pessoas logam são modificadas.

Não promover, mas escrevi uma postagem no blog sobre como fazer isso . A solução básica é a seguinte:

Adicione as seguintes entradas do Registro:

[HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components\UniqueID]
"Version"=""
"Stubpath"=""
@=""
  • Você pode escolher qualquer ID exclusiva desejada. Os GUIDs são usados com frequência, mas você pode usar qualquer coisa que seja única.
  • Version é o número da versão que você deseja usar.
  • Stubpath é o comando que será executado. Todas as chamadas MSI, EXE e VBS parecem estar bem.
  • O @ é o que deve ser exibido quando o comando está em execução.

Com esta solução, a linguagem de script é irrelevante. Você poderia fazer um arquivo VBScript, Powershell, Batch. O que quer que lhe permita escrever para o HKCU como o usuário logado. O uso de reg.exe também funciona diretamente bem.

O outro toque final opcional que você pode fazer é carregar e modificar o usuário padrão Hive. Isso definiria o valor do registro para todos os novos usuários que fizerem logon pela primeira vez nesse sistema específico.

    
por 22.05.2009 / 17:00
7

Você pode adicionar chaves de registro personalizadas criando um arquivo adm personalizado e importando-o como um modelo para a seção Modelos Administrativos de um Objeto de Política de Grupo. Em seguida, vincule esse GPO à sua OU. Existem documentos na MS sobre como fazer isso, ou você pode olhar para os arquivos adm que já existem no servidor (em algum lugar sob Sysvol eu acho).

Esse processo é chamado de "tatuar o registro" e significa que você está fora do controle da remoção da política de grupo, ou seja, as entradas de registro permanecerão mesmo se a política for removida. Você precisa criar uma chave reg "reversa" e implantá-la (ou apenas excluí-la).

    
por 22.05.2009 / 16:02