Usando um GPO para executar um arquivo em lotes uma vez

3

É possível que eu possa configurar uma lista de GPOs para computadores recém-instalados com muitos arquivos em lote (principalmente arquivos em movimento) e estes seriam executados apenas uma vez e nunca mais?

Eu sou iniciante nisso e não encontrei nenhuma boa solução para isso. Toda ajuda conta :) Obrigado

    
por Andras Sebestyen 26.10.2012 / 23:27

3 respostas

8

A chave de registro HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce seria o local mais natural para colocar itens que você deseja executar apenas uma vez, porque um comando é excluído dessa lista quando é executado. No entanto, editar o registro usando preferências de diretiva de grupo pode ser um pouco complicado.

Você também pode usar as Preferências de Política de Grupo para implantar uma Tarefa Imediata (Programada) executada uma vez e depois excluída. Uma tarefa imediata é como uma tarefa agendada padrão, portanto, pode executar várias ações em uma tarefa. Existe uma caixa de seleção chamada "Aplicar uma vez e não reaplicar", o que reforça que ela só pode ser aplicada (e, portanto, existe) uma vez.

Configure um item de registro: link

Configure uma tarefa imediata: link

Nota adicional

Esta é apenas uma opção adequada em versões cliente do Windows Vista e superiores, e para clientes Windows XP com o extensões do lado do cliente GPP instalado. Eu recomendo usá-lo.

    
por 27.10.2012 / 00:09
3

Eu me refiro a esse tipo de coisa como um GPO "alçapão" e faço isso com razoável frequência (para coisas como trabalhar em computadores recém-ingressados no domínio). Se eu tiver um script que quero executar uma vez e apenas uma vez nos clientes, normalmente faço isso:

  • Crie um grupo no AD "Trapdoor Script Already Executed", e conceda direitos "Domain Computers" para que eles "All Validated Writes" e "Write members" (uma permissão específica da propriedade).

  • Crie meu script de inicialização e adicione um net group "Trapdoor Script Already Executed" /domain /add %computername%$ no final do script

  • Crie um GPO fazendo referência ao meu script de inicialização e adicione a permissão "Trapdoor Script Already Executed" / "Negar Aplicar Diretiva de Grupo" ao GPO.

Isso faz com que as máquinas se adicionem ao grupo "Trapdoor Script Already Executed" depois de executarem o script e, em futuras atualizações, lhes é negado o direito de executar o script novamente.

Editar:

Esta estratégia funciona muito mal quando os computadores-cliente não são removidos dos grupos, mas são de outra forma re-trabalhados ou re-propostos e precisam executar o script "trapdoor" novamente.

Nesses casos, opto por escrever um valor "canário" para o registro que o script possa verificar com um simples REG QUERY e liberar errorlevel se o valor for encontrado. O lado negativo de se fazer isso dessa maneira é que o script é executado em cada inicialização (enquanto restringir o aplicativo de GPO por meio da associação ao grupo impede que o script ocorra e demore em cada inicialização). Em teoria, você pode usar a filtragem WMI para segmentar GPOs com base em valores do Registro, mas, no passado, o desempenho da filtragem WMI baseada em valor do Registro era HORRÍVEL .

Eu tive sucesso com a estratégia "grupo de alçapão" quando consigo fazer com que os técnicos excluam computadores do AD e juntem-se a eles quando "refazem" os computadores, em vez de apenas persistir objeto de computador e seus membros de grupo. É um desafio, mas a única maneira que eu poderia conceber que não incorresse em uma penalidade de execução de script em cada inicialização.

    
por 27.10.2012 / 00:28
-1

leia primeiro este artigo cheio.

Nota 1: faça o download e instale o GPMC e

Nota 2: outra resposta que é útil apenas no Windows 8 aqui: GPOs de importação e exportação de a>

    
por 27.10.2012 / 07:43