Executa um script quando a política de grupo é aplicada (não no login ou na inicialização)

1

Como eu poderia conseguir que um script Powershell em um conjunto de computadores fosse executado periodicamente durante o dia enquanto o computador estava ligado? (nós já usamos o "na inicialização" ou "no logon", mas alguns dos computadores são deixados sem logins por dias. Também não podemos usar uma Tarefa Agendada regular porque esses scripts relatam dados para um servidor, e nós don ' Deseja que 300 computadores atinjam o servidor todos no mesmo segundo. Também gostaríamos de evitar que o script fosse executado, com os atrasos determinados pelo script, porque às vezes ele falha.

Existe uma maneira de:

  • Executar um script quando o GPO é aplicado (acho que intervalos de 90 minutos após a inicialização, que serão escalonados em todo o edifício)?
  • Executar um script em intervalos irregulares (por exemplo, cada intervalo seguinte seria entre 60-80 min) ou em intervalos aleatórios de horas do dia (por exemplo, todos os dias entre 13h e 14h). Duvido que esta seja viável?

    Eu acho que uma maneira de fazer isso como uma tarefa agendada seria ter um atraso aleatório de 0-5 min no início do script, mas, em seguida, gostaríamos de evitar esse atraso ao testar ou quando invocado na inicialização ou faça o login.

        
  • por Jemenake 09.08.2017 / 23:01

    2 respostas

    2

    Existe uma maneira de executar um script quando o GPO é aplicado?

    Sim. Você pode criar uma tarefa agendada que será acionada quando um evento específico ocorrer:

    On an event

    This trigger causes the task to run when specific event entries are added to an event log. You can choose between specifying basic event trigger settings or custom event trigger settings. If you choose the basic event trigger settings, a single event from a specific event log will trigger the task. You choose the event log that contains the event, the event publisher name, and specify the event identifier.

    Fonte Triggers

    O eventID que você precisa para o gatilho é provavelmente 8006:

    The Group Policy service reserves event IDs between 8000 and 8007 to indicate a particular type of Group Policy processing completed successfully.

    enter image description here

    Fonte Solução de problemas de diretiva de grupo usando logs de eventos

        
    por 09.08.2017 / 23:47
    1

    Parece que o Editor de Gerenciamento de Diretiva de Grupo, em Configuração do Computador / Preferências / Configurações do Painel de Controle / Tarefas Agendadas, permite que você crie uma "Tarefa Imediata", criada especificamente para executar coisas após uma atualização de GPO.

    Configurar uma tarefa imediata Item (pelo menos o Windows 7)

    For computers that are running Windows Server® 2012 or Windows® 8, Immediate Task (At least Windows 7) preference items, ( Immediate Task (Windows Vista and later) preference items if running Windows Server® 2008 R2 or Windows® 7), allow you to create tasks to be run immediately and then removed each time Group Policy refreshes. Immediate Task preference items do not provide a selection of actions or triggers because they always create a task and then delete it after it has run.

    O único problema foi que eu tive que especificar um usuário válido para que ele fosse executado como ("NT AUTHORITY \ SYSTEM" neste caso), e funcionava exatamente como eu queria.

        
    por 10.08.2017 / 19:23