Não é possível ver a programação para a tarefa “SynchronizeTime” do Agendador de Tarefas do Windows Server 2012

1

Temos um servidor que recebe regularmente um problema de desvio de relógio. É o Windows Server 2012 executado como convidado em um host HyperV.

Tenho a impressão de que essa tarefa agendada deve periodicamente causar uma nova sincronização:

\Microsoft\Windows\Time Synchronization\SynchronizeTime

O que me confunde é que, quando vejo a configuração dessa tarefa no Agendador de Tarefas, não há nada listado em Triggers. A coluna Next Run Time está em branco, no entanto, as colunas Last Run Time mostram "16/5/2014 3:24:48 a.m.".

Então eu sei que correu cerca de 5 dias atrás, mas eu não sei o que desencadeou. Como isso é controlado?

O motivo pelo qual eu quero entender isso é que achei que talvez precise ajustar a frequência dessa tarefa para algo como diariamente para combater o desvio do relógio.

Eu não quero entrar em uma discussão sobre a melhor maneira de sincronizar o relógio de um servidor ainda - agora estou perguntando especificamente sobre o comportamento dessa tarefa agendada.

    
por Michael12345 21.05.2014 / 04:36

1 resposta

2

Como você pediu explicitamente para que não forneça conselhos sobre como sincronizar a hora em uma máquina Windows, tentarei evitar isso.

As tarefas agendadas que você vê sob a pasta Microsoft foram tipicamente criadas pela Microsoft, para operar vários componentes do sistema operacional Windows, e não é geralmente uma boa idéia mexer nelas.

A tarefa agendada que você apontou, como você vê, simplesmente não tem gatilhos. Uma tarefa agendada pode ser criada sem acionadores, se você pretende executá-la manualmente (ou solicitar que ela seja executada de outro programa). A maioria dessas tarefas agendadas que a Microsoft adicionou ao sistema operacional e que não têm gatilhos coincidiu. com eles adicionando disparadores de serviço do Windows para o sistema operacional no Windows 7 e 2008 R2. Se você observar a ação dessa tarefa agendada, verá o seguinte:

%windir%\system32\sc.exe start w32time task_started

Observe que a tarefa agendada passa um argumento de linha de comando ao serviço w32time, task_started, para informar ao programa que foi iniciado a partir de uma tarefa agendada, em vez de ser iniciado por outros meios, como alguém invertendo a tarefa. serviço manualmente, através do services.msc. Isso permite que o programa tome um curso de ação diferente com base em como foi iniciado.

Se você observar os gatilhos de serviço para o w32time:

C:\Windows\system32>sc qtriggerinfo w32time
[SC] QueryServiceConfig2 SUCCESS

SERVICE_NAME: w32time

        START SERVICE
          DOMAIN JOINED STATUS         : 1ce20aba-9851-4421-9430-1ddeb766e809 [DOMAIN JOINED]
        STOP SERVICE
          DOMAIN JOINED STATUS         : ddaf516e-58c2-4866-9574-c3b615d42ea1 [NOT DOMAIN JOINED]

Isso significa que o serviço Horário do Windows somente é executado quando o status do domínio do Active Directory de uma máquina é alterado? Claro que não. Isso significaria que os milhões de PCs independentes nas casas das pessoas em todo o mundo que nunca ingressarão em um domínio não teriam capacidade de sincronização de tempo, e esse obviamente não é o caso. O Windows automaticamente ativa o serviço de tempo e se sincroniza o tempo todo ... na inicialização, às 1:00 da manhã aos domingos, há vários casos.

O serviço Horário do Windows agora é iniciado por acionador e não é executado constantemente em segundo plano. A ideia é economizar ciclos desperdiçados da CPU e energia da bateria na execução de serviços em segundo plano que não precisam ser executados 24 horas por dia, 7 dias por semana. Mas a captura 22 é que você não pode sincronizar novamente o tempo a menos que o serviço w32time esteja em execução. Então, como você iniciaria o serviço automaticamente, teria tempo de sincronização e desligaria novamente?

Eu configurei uma tarefa agendada e a chamei de algum outro lugar dentro do sistema operacional.

    
por 21.05.2014 / 14:34