Sincronização do Azure AD Connect: AgendadorAzure AD Connect sync: Scheduler

Este tópico descreve o agendador interno na sincronização do Azure AD Connect (mecanismo de sincronização).This topic describes the built-in scheduler in Azure AD Connect sync (sync engine).

Esse recurso foi introduzido com a compilação 1.1.105.0 (lançada em fevereiro de 2016).This feature was introduced with build 1.1.105.0 (released February 2016).

Visão geralOverview

A sincronização do Azure AD Connect sincroniza mudanças ocorridas em seu diretório local usando um agendador.Azure AD Connect sync synchronize changes occurring in your on-premises directory using a scheduler. Há dois processos de agendador, um para sincronização de senha e outro para sincronização de atributo/objeto e tarefas de manutenção.There are two scheduler processes, one for password sync and another for object/attribute sync and maintenance tasks. Este tópico aborda a última opção.This topic covers the latter.

Em versões anteriores, o agendador de objetos e atributos era separado do mecanismo de sincronização.In earlier releases, the scheduler for objects and attributes was external to the sync engine. Ele usava o agendador de tarefas do Windows ou um serviço do Windows separado para disparar o processo de sincronização.It used Windows task scheduler or a separate Windows service to trigger the synchronization process. O agendador faz parte dos recursos internos nas versões 1.1 do mecanismo de sincronização e permite alguma personalização.The scheduler is with the 1.1 releases built-in to the sync engine and do allow some customization. A frequência de sincronização do novo padrão é de 30 minutos.The new default synchronization frequency is 30 minutes.

O agendador é responsável por duas tarefas:The scheduler is responsible for two tasks:

  • Ciclo de sincronização.Synchronization cycle. O processo de importação, sincronização e exportação das alterações.The process to import, sync, and export changes.
  • Tarefas de manutenção.Maintenance tasks. Renove as chaves e certificados para a redefinição de Senha e o DRS (Serviço de Registro de Dispositivo).Renew keys and certificates for Password reset and Device Registration Service (DRS). Limpe as entradas antigas no log de operações.Purge old entries in the operations log.

O agendador em si está sempre em execução, mas ele pode ser configurado para executar apenas uma ou nenhuma dessas tarefas.The scheduler itself is always running, but it can be configured to only run one or none of these tasks. Por exemplo, se você precisar ter seu próprio processo de ciclo de sincronização, poderá desabilitar essa tarefa no agendador, mas ainda executar a tarefa de manutenção.For example, if you need to have your own synchronization cycle process, you can disable this task in the scheduler but still run the maintenance task.

Configuração do agendadorScheduler configuration

Para ver as configurações atuais, acesse o PowerShell e execute Get-ADSyncScheduler.To see your current configuration settings, go to PowerShell and run Get-ADSyncScheduler. Ele mostra algo parecido com esta imagem:It shows you something like this picture:

GetSyncScheduler

Se você vir O comando de sincronização ou o cmdlet não está disponível quando executar esse cmdlet, o módulo do PowerShell não estará carregado.If you see The sync command or cmdlet is not available when you run this cmdlet, then the PowerShell module is not loaded. Esse problema poderá ocorrer se você executar o Azure AD Connect em um controlador de domínio ou em um servidor com níveis mais altos de restrição do PowerShell do que as configurações padrão.This problem could happen if you run Azure AD Connect on a domain controller or on a server with higher PowerShell restriction levels than the default settings. Se você vir esse erro, execute Import-Module ADSync para disponibilizar o cmdlet.If you see this error, then run Import-Module ADSync to make the cmdlet available.

  • AllowedSyncCycleInterval.AllowedSyncCycleInterval. O intervalo de tempo mais curto entre os ciclos de sincronização permitido pelo Azure AD.The shortest time interval between synchronization cycles allowed by Azure AD. Você não pode sincronizar com maior frequência do que a permitida por essa configuração e ainda ter suporte.You cannot synchronize more frequently than this setting and still be supported.
  • CurrentlyEffectiveSyncCycleInterval.CurrentlyEffectiveSyncCycleInterval. O agendamento atualmente em vigor.The schedule currently in effect. Ele terá o mesmo valor de CustomizedSyncInterval (se definido) se não for mais frequente do que AllowedSyncInterval.It has the same value as CustomizedSyncInterval (if set) if it is not more frequent than AllowedSyncInterval. Se você usar uma versão anterior à 1.1.281 e alterar o CustomizedSyncCycleInterval, essa alteração entrará em vigor após o próximo ciclo de sincronização.If you use a build before 1.1.281 and you change CustomizedSyncCycleInterval, this change takes effect after next synchronization cycle. Desde o build 1.1.281, a alteração entra em vigor imediatamente.From build 1.1.281 the change takes effect immediately.
  • CustomizedSyncCycleInterval.CustomizedSyncCycleInterval. Se você quiser que o agendador seja executado em intervalos diferentes do padrão de 30 minutos, terá que definir nessa configuração.If you want the scheduler to run at any other frequency than the default 30 minutes, then you configure this setting. Na figura acima, o agendador foi definido para ser executado a cada hora.In the picture above, the scheduler has been set to run every hour instead. Se você definir essa configuração como um valor menor do que AllowedSyncInterval, a última opção será usada.If you set this setting to a value lower than AllowedSyncInterval, then the latter is used.
  • NextSyncCyclePolicyType.NextSyncCyclePolicyType. Delta ou Inicial.Either Delta or Initial. Define se a próxima execução deve apenas processar alterações delta ou se a próxima execução deve fazer importação e sincronização completas. O última opção também reprocessaria regras novas ou alteradas.Defines if the next run should only process delta changes, or if the next run should do a full import and sync. The latter would also reprocess any new or changed rules.
  • NextSyncCycleStartTimeInUTC.NextSyncCycleStartTimeInUTC. Da próxima vez, o agendador iniciará o próximo ciclo de sincronização.Next time the scheduler starts the next sync cycle.
  • PurgeRunHistoryInterval.PurgeRunHistoryInterval. Os logs de operação de tempo devem ser mantidos.The time operation logs should be kept. Esses logs podem ser analisados no gerenciador do serviço de sincronização.These logs can be reviewed in the synchronization service manager. O padrão é manter os logs por sete dias.The default is to keep these logs for 7 days.
  • SyncCycleEnabled.SyncCycleEnabled. Indica se o agendador está executando os processos de exportação, importação e sincronização como parte de sua operação.Indicates if the scheduler is running the import, sync, and export processes as part of its operation.
  • MaintenanceEnabled.MaintenanceEnabled. Mostra se o processo de manutenção está habilitado.Shows if the maintenance process is enabled. Ele atualiza os certificados/chaves e limpa o log de operações.It updates the certificates/keys and purges the operations log.
  • StagingModeEnabled.StagingModeEnabled. Mostra se o modo de preparo está habilitado.Shows if staging mode is enabled. Quando essa configuração está habilitada, ela impede que as exportações sejam executadas, mas ainda executa a importação e a sincronização.If this setting is enabled, then it suppresses the exports from running but still run import and synchronization.
  • SchedulerSuspended.SchedulerSuspended. Definido pelo Connect durante uma atualização para bloquear temporariamente a execução do agendador.Set by Connect during an upgrade to temporarily block the scheduler from running.

Você pode alterar algumas dessas configurações com Set-ADSyncScheduler.You can change some of these settings with Set-ADSyncScheduler. Os parâmetros a seguir podem ser modificados:The following parameters can be modified:

  • CustomizedSyncCycleIntervalCustomizedSyncCycleInterval
  • NextSyncCyclePolicyTypeNextSyncCyclePolicyType
  • PurgeRunHistoryIntervalPurgeRunHistoryInterval
  • SyncCycleEnabledSyncCycleEnabled
  • MaintenanceEnabledMaintenanceEnabled

Em builds anteriores do Azure AD Connect, isStagingModeEnabled era exposto em Set-ADSyncScheduler.In earlier builds of Azure AD Connect, isStagingModeEnabled was exposed in Set-ADSyncScheduler. Não há suporte para a definição dessa propriedade.It is unsupported to set this property. A propriedade SchedulerSuspended só deve ser modificada pelo Connect.The property SchedulerSuspended should only be modified by Connect. Não há suporte para a definição dela diretamente com o PowerShell.It is unsupported to set this with PowerShell directly.

A configuração do agendador é armazenada no Azure AD.The scheduler configuration is stored in Azure AD. Se você tiver um servidor de preparo, uma alteração no servidor primário também afetará o servidor de preparo (exceto IsStagingModeEnabled).If you have a staging server, any change on the primary server also affects the staging server (except IsStagingModeEnabled).

CustomizedSyncCycleIntervalCustomizedSyncCycleInterval

Sintaxe: Set-ADSyncScheduler -CustomizedSyncCycleInterval d.HH:mm:ssSyntax: Set-ADSyncScheduler -CustomizedSyncCycleInterval d.HH:mm:ss
d - dias, HH - horas, mm - minutos, ss - segundosd - days, HH - hours, mm - minutes, ss - seconds

Exemplo: Set-ADSyncScheduler -CustomizedSyncCycleInterval 03:00:00Example: Set-ADSyncScheduler -CustomizedSyncCycleInterval 03:00:00
Altera o Agendador para executar a cada três horas.Changes the scheduler to run every 3 hours.

Exemplo: Set-ADSyncScheduler -CustomizedSyncCycleInterval 1.0:0:0Example: Set-ADSyncScheduler -CustomizedSyncCycleInterval 1.0:0:0
Altera o Agendador para executar diariamente.Changes change the scheduler to run daily.

Desabilitar o agendadorDisable the scheduler

Se você precisar fazer alterações de configuração, talvez seja melhor desabilitar o agendador.If you need to make configuration changes, then you want to disable the scheduler. Por exemplo, quando você configura a filtragem ou faz alterações nas regras de sincronização.For example, when you configure filtering or make changes to synchronization rules.

Execute Set-ADSyncScheduler -SyncCycleEnabled $false para desabilitar o agendador.To disable the scheduler, run Set-ADSyncScheduler -SyncCycleEnabled $false.

Desabilitar o agendador

Quando você fizer as alterações, não se esqueça de habilitar o agendador novamente com Set-ADSyncScheduler -SyncCycleEnabled $true.When you've made your changes, do not forget to enable the scheduler again with Set-ADSyncScheduler -SyncCycleEnabled $true.

Iniciar o agendadorStart the scheduler

Por padrão, o agendador é executado a cada 30 minutos.The scheduler is by default run every 30 minutes. Em alguns casos, é bom executar um ciclo de sincronização entre os ciclos agendados ou terá que executar um tipo diferente.In some cases, you might want to run a sync cycle in between the scheduled cycles or you need to run a different type.

Ciclo de sincronização deltaDelta sync cycle

Um ciclo de sincronização delta inclui as seguintes etapas:A delta sync cycle includes the following steps:

  • Importação delta em todos os conectoresDelta import on all Connectors
  • Sincronização delta em todos os conectoresDelta sync on all Connectors
  • Exportação em todos os conectoresExport on all Connectors

Ciclo de sincronização completaFull sync cycle

Um ciclo de sincronização completa inclui as seguintes etapas:A full sync cycle includes the following steps:

  • Importação completa de todos os conectoresFull Import on all Connectors
  • Sincronização completa de todos os conectoresFull Sync on all Connectors
  • Exportação em todos os conectoresExport on all Connectors

É possível que você tenha uma alteração urgente que deva ser sincronizada imediatamente e precise executar um ciclo manualmente.It could be that you have an urgent change that must be synchronized immediately, which is why you need to manually run a cycle.

Se você precisar executar manualmente um ciclo de sincronização, em seguida, do PowerShell para executar Start-ADSyncSyncCycle -PolicyType Delta.If you need to manually run a sync cycle, then from PowerShell run Start-ADSyncSyncCycle -PolicyType Delta.

Para iniciar um ciclo de sincronização completo, execute Start-ADSyncSyncCycle -PolicyType Initial em um prompt do PowerShell.To initiate a full sync cycle, run Start-ADSyncSyncCycle -PolicyType Initial from a PowerShell prompt.

Executar um ciclo de sincronização completa pode consumir muito tempo, leia a próxima seção e leia sobre como otimizar esse processo.Running a full sync cycle can be very time consuming, read the next section to read how to optimize this process.

Etapas necessárias para que as alterações de configuração diferente de sincronizaçãoSync steps required for different configuration changes

Alterações de configuração diferentes exigem etapas de sincronização diferentes para garantir que as alterações são aplicadas corretamente a todos os objetos.Different configuration changes require different sync steps to ensure the changes are correctly applied to all objects.

  • Adicionou mais objetos ou atributos a serem importados de um diretório de origem (ao Adicionar/modificar as regras de sincronização)Added more objects or attributes to be imported from a source directory (by adding/modifying the sync rules)
    • Uma importação completa é necessária no conector para esse diretório de origemA Full Import is required on the Connector for that source directory
  • Realizou alterações nas regras de sincronizaçãoMade changes to the Synchronization rules
    • Uma sincronização completa é necessária no conector para as regras de sincronização alteradasA Full Sync is required on the Connector for the changed Synchronization rules
  • Alterou a filtragem para incluir um número diferente de objetosChanged filtering so a different number of objects should be included
    • Uma importação completa é necessária no conector para cada conector do AD, a menos que você estiver usando a filtragem baseada em atributo com base em atributos que já estão sendo importados para o mecanismo de sincronizaçãoA Full Import is required on the Connector for each AD Connector UNLESS you are using Attribute-based filtering based on attributes that are already being imported into the sync engine

Personalizando um ciclo de sincronização execute a combinação certa de etapas de sincronização Delta e completoCustomizing a sync cycle run the right mix of Delta and Full sync steps

Para evitar a execução de um ciclo de sincronização completa, você pode marcar os conectores específicos para executar uma etapa completa usando os cmdlets a seguir.To avoid running a full sync cycle you can mark specific Connectors to run a Full step using the following cmdlets.

Set-ADSyncSchedulerConnectorOverride -Connector <ConnectorGuid> -FullImportRequired $true

Set-ADSyncSchedulerConnectorOverride -Connector <ConnectorGuid> -FullSyncRequired $true

Get-ADSyncSchedulerConnectorOverride -Connector <ConnectorGuid>

Exemplo: Se você fez alterações para as regras de sincronização para o conector "AD floresta A" que não exigem qualquer novos atributos a ser importado, você executaria as seguintes cmdlets para executar uma sincronização delta ciclo que também uma sincronização completa etapa desse conector.Example: If you made changes to the synchronization rules for Connector “AD Forest A” that don’t require any new attributes to be imported you would run the following cmdlets to run a delta sync cycle which also did a Full Sync step for that Connector.

Set-ADSyncSchedulerConnectorOverride -ConnectorName “AD Forest A” -FullSyncRequired $true

Start-ADSyncSyncCycle -PolicyType Delta

Exemplo: Se você alterou as regras de sincronização para o conector "A de floresta do AD" para que eles agora exigem um novo atributo a ser importado, você executaria os seguintes cmdlets para executar um ciclo de sincronização delta que também fez uma importação completa, a etapa de sincronização completa para esse conector.Example: If you made changes to the synchronization rules for Connector “AD Forest A” so that they now require a new attribute to be imported you would run the following cmdlets to run a delta sync cycle which also did a Full Import, Full Sync step for that Connector.

Set-ADSyncSchedulerConnectorOverride -ConnectorName “AD Forest A” -FullImportRequired $true

Set-ADSyncSchedulerConnectorOverride -ConnectorName “AD Forest A” -FullSyncRequired $true

Start-ADSyncSyncCycle -PolicyType Delta

Parar o agendadorStop the scheduler

Se o agendador estiver executando um ciclo de sincronização, talvez seja necessário interrompê-lo.If the scheduler is currently running a synchronization cycle, you might need to stop it. Por exemplo, se você iniciar o assistente de instalação e receber este erro:For example if you start the installation wizard and you get this error:

SyncCycleRunningError

Se um ciclo de sincronização estiver em execução, você não poderá alterar a configuração.When a sync cycle is running, you cannot make configuration changes. Você pode aguardar até que o agendador conclua o processo ou pode interrompê-lo para realizar suas alterações logo em seguida.You could wait until the scheduler has finished the process, but you can also stop it so you can make your changes immediately. Parar o ciclo atual não é prejudicial e as alterações serão processadas na próxima execução.Stopping the current cycle is not harmful and pending changes are processed with next run.

  1. Comece informando o agendador para interromper o ciclo atual com o cmdlet Stop-ADSyncSyncCycledo PowerShell.Start by telling the scheduler to stop its current cycle with the PowerShell cmdlet Stop-ADSyncSyncCycle.
  2. Se você usar uma versão anterior à 1.1.281, parando em seguida, o agendador não interromperá a tarefa atual do conector atual.If you use a build before 1.1.281, then stopping the scheduler does not stop the current Connector from its current task. Para forçar a interrupção do Conector, execute as seguintes ações: StopAConnectorTo force the Connector to stop, take the following actions: StopAConnector
    • Inicie o Serviço de Sincronização no menu Iniciar.Start Synchronization Service from the start menu. Vá para Conectores, realce o Conector com o estado Executando e selecione Parar em Ações.Go to Connectors, highlight the Connector with the state Running, and select Stop from the Actions.

O agendador ainda está ativo e será iniciado novamente na próxima oportunidade.The scheduler is still active and starts again on next opportunity.

Agendador personalizadoCustom scheduler

Os cmdlets documentados nesta seção só estão disponíveis no build 1.1.130.0 e posteriores.The cmdlets documented in this section are only available in build 1.1.130.0 and later.

Se o agendador interno não atender às suas necessidades, você poderá fazer o agendamento dos Conectores usando o PowerShell.If the built-in scheduler does not satisfy your requirements, then you can schedule the Connectors using PowerShell.

Invoke-ADSyncRunProfileInvoke-ADSyncRunProfile

Você pode iniciar um perfil para um Conector desta forma:You can start a profile for a Connector in this way:

Invoke-ADSyncRunProfile -ConnectorName "name of connector" -RunProfileName "name of profile"

Os nomes a serem usados como Nomes de conector e Nomes de Perfil de Execução podem ser encontrados na Interface do Usuário do Synchronization Service Manager.The names to use for Connector names and Run Profile Names can be found in the Synchronization Service Manager UI.

Invocar perfil de execução

O cmdlet Invoke-ADSyncRunProfile é síncrono, ou seja, ele não retornará o controle até que o Conector tenha concluído a operação, seja com êxito ou com erro.The Invoke-ADSyncRunProfile cmdlet is synchronous, that is, it does not return control until the Connector has completed the operation, either successfully or with an error.

Quando você agendar seus Conectores, a recomendação é agendá-los na seguinte ordem:When you schedule your Connectors, the recommendation is to schedule them in the following order:

  1. (Completo/Delta) Importar de diretórios locais, como o Active Directory(Full/Delta) Import from on-premises directories, such as Active Directory
  2. (Completo/Delta) Importar do Azure AD(Full/Delta) Import from Azure AD
  3. (Completo/Delta) Sincronizar de diretórios locais, como o Active Directory(Full/Delta) Synchronization from on-premises directories, such as Active Directory
  4. (Completo/Delta) Sincronização do Azure AD(Full/Delta) Synchronization from Azure AD
  5. Exportar para o Azure ADExport to Azure AD
  6. Exportar para diretórios locais, como o Active DirectoryExport to on-premises directories, such as Active Directory

Essa ordem é como o agendador interno executa os conectores.This order is how the built-in scheduler runs the Connectors.

Get-ADSyncConnectorRunStatusGet-ADSyncConnectorRunStatus

Você também pode monitorar o mecanismo de sincronização para ver se ele está ocupado ou ocioso.You can also monitor the sync engine to see if it is busy or idle. Esse cmdlet retornará um resultado vazio se o mecanismo de sincronização estiver ocioso e não estiver executando um Conector.This cmdlet returns an empty result if the sync engine is idle and is not running a Connector. Se um Conector estiver em execução, ele retornará o nome do Conector.If a Connector is running, it returns the name of the Connector.

Get-ADSyncConnectorRunStatus

Status de execução do conector
Na imagem acima, a primeira linha é de um estado em que o mecanismo de sincronização está ocioso.In the picture above, the first line is from a state where the sync engine is idle. A segunda linha é de quando o Conector do Azure AD está em execução.The second line from when the Azure AD Connector is running.

Agendador e o assistente de instalaçãoScheduler and installation wizard

Se você iniciar o assistente de instalação, o agendador será temporariamente suspenso.If you start the installation wizard, then the scheduler is temporarily suspended. Esse comportamento ocorre porque ele pressupõe que você fará alterações na configuração e as definições não poderão ser aplicadas se o mecanismo de sincronização estiver ativamente em execução.This behavior is because it is assumed you make configuration changes and these settings cannot be applied if the sync engine is actively running. Por esse motivo, não deixe o assistente de instalação aberto, já que ele impede que o mecanismo de sincronização execute ações de sincronização.For this reason, do not leave the installation wizard open since it stops the sync engine from performing any synchronization actions.

Próximas etapasNext steps

Saiba mais sobre a configuração de sincronização do Azure AD Connect .Learn more about the Azure AD Connect sync configuration.

Saiba mais sobre Como integrar suas identidades locais ao Active Directory do Azure.Learn more about Integrating your on-premises identities with Azure Active Directory.