Microsoft Entra Connect 同期: スケジューラ
このトピックでは、Microsoft Entra Connect Sync (同期エンジン) の組み込みスケジューラについて説明します。
この機能は、ビルド 1.1.105.0 (2016 年 2 月リリース) で導入されました。
概要
Microsoft Entra Connect Sync は、スケジューラを使用して、オンプレミス ディレクトリで発生する変更を同期します。 2 つのスケジューラ プロセスがあります。1 つはパスワード同期用で、もう 1 つはオブジェクト/属性の同期とメンテナンス タスク用です。 このトピックでは、後者について説明します。
以前のリリースでは、オブジェクトと属性のスケジューラは同期エンジンの外部でした。 Windows タスク スケジューラまたは別の Windows サービスを使用して同期プロセスをトリガーしました。 スケジューラには、同期エンジンに組み込まれている 1.1 リリースが含まれており、いくつかのカスタマイズが可能です。 新しい既定の同期頻度は 30 分です。
スケジューラは、次の 2 つのタスクを担当します。
- 同期サイクル 変更をインポート、同期、およびエクスポートするプロセス。
- メンテナンス タスク パスワード リセットとデバイス登録サービス (DRS) のキーと証明書を更新します。 操作ログの古いエントリを消去します。
スケジューラ自体は常に実行されますが、これらのタスクを 1 つだけ実行するように構成することも、実行しない場合もあります。 たとえば、独自の同期サイクル プロセスが必要な場合は、スケジューラでこのタスクを無効にしても、メンテナンス タスクを実行できます。
重要
既定では、同期サイクルは 30 分ごとに実行されます。 同期サイクルを変更した場合は、同期サイクルが少なくとも 7 日に 1 回実行されるようにする必要があります。
- 差分同期は、最後の差分同期から 7 日以内に行う必要があります。
- 差分同期 (完全同期の後) は、最後の完全同期が完了してから 7 日以内に行われる必要があります。
これを行わないと、同期の問題が発生する可能性があるため、完全同期を実行して解決する必要があります。 これは、ステージング モードのサーバーにも適用されます。
スケジューラの構成
現在の構成設定を確認するには、PowerShell に移動し、Get-ADSyncScheduler
を実行します。 次のような画像が表示されます。
このコマンドレットの実行時に同期コマンドまたはコマンドレット 使用できない場合、PowerShell モジュールは読み込まれません。 この問題は、既定の設定よりも高い PowerShell 制限レベルのドメイン コントローラーまたはサーバーで Microsoft Entra Connect を実行する場合に発生する可能性があります。 このエラーが表示された場合は、Import-Module ADSync
を実行してコマンドレットを使用できるようにします。
- AllowedSyncCycleInterval。 Microsoft Entra ID で許可される同期サイクル間の最短の時間間隔。 この設定よりも頻繁に同期することはできませんが、引き続きサポートされます。
- CurrentlyEffectiveSyncCycleInterval。 現在有効なスケジュール。 AllowedSyncInterval よりも頻繁でない場合は、CustomizedSyncInterval (設定されている場合) と同じ値を持ちます。 1.1.281 より前のビルドを使用し、CustomizedSyncCycleInterval を変更した場合、この変更は次の同期サイクルの後に有効になります。 ビルド 1.1.281 から、変更はすぐに有効になります。
- CustomizedSyncCycleInterval。 スケジューラを既定の 30 分以外の頻度で実行する場合は、この設定を構成します。 前の図では、代わりにスケジューラが 1 時間ごとに実行されるように設定されています。 この設定を AllowedSyncInterval より小さい値に設定すると、後者が使用されます。
- NextSyncCyclePolicyType。 Delta または Initial です。 次の実行で差分変更のみを処理するか、または次の実行で完全なインポートと同期を行う必要があるかどうかを定義します。後者は、新しいルールまたは変更されたルールも再処理します。
- NextSyncCycleStartTimeInUTC。 次回スケジューラが次の同期サイクルを開始します。
- PurgeRunHistoryInterval。 時間操作ログは保持する必要があります。 これらのログは、同期サービス マネージャーで確認できます。 既定では、これらのログは 7 日間保持されます。
- SyncCycleEnabled。 スケジューラがその操作の一部としてインポート、同期、およびエクスポートプロセスを実行しているかどうかを示します。
- MaintenanceEnabled。 メンテナンス プロセスが有効になっているかどうかを示します。 証明書/キーを更新し、操作ログを消去します。
- StagingModeEnabled。 ステージング モード が有効になっているかどうかを示します。 この設定を有効にすると、エクスポートの実行は抑制されますが、インポートと同期は引き続き実行されます。
- SchedulerSuspended。 アップグレード中に Connect によって設定され、スケジューラの実行を一時的にブロックします。
これらの設定の一部は、Set-ADSyncScheduler
で変更できます。 次のパラメーターを変更できます。
- カスタマイズされた同期サイクル間隔 (CustomizedSyncCycleInterval)
- NextSyncCyclePolicyType
- PurgeRunHistoryInterval
- 同期サイクル有効
- MaintenanceEnabled
Microsoft Entra Connect の以前のビルドでは、isStagingModeEnabled が Set-ADSyncScheduler で公開されていました。 このプロパティの設定はサポートされていません。 SchedulerSuspended
スケジューラの構成は、Microsoft Entra ID に格納されます。 ステージング サーバーがある場合、プライマリ サーバーの変更もステージング サーバーに影響します (IsStagingModeEnabled を除く)。
カスタマイズされた同期サイクル間隔
構文: Set-ADSyncScheduler -CustomizedSyncCycleInterval d.HH:mm:ss
d - 日、HH - 時間、mm - 分、秒 - 秒
例: Set-ADSyncScheduler -CustomizedSyncCycleInterval 03:00:00
スケジューラを 3 時間ごとに実行するように変更します。
例: Set-ADSyncScheduler -CustomizedSyncCycleInterval 1.0:0:0
変更により、スケジューラが毎日実行されるように変更されます。
スケジューラを無効にする
構成を変更する必要がある場合は、スケジューラを無効にします。 たとえば、フィルター処理 を構成
スケジューラを無効にするには、Set-ADSyncScheduler -SyncCycleEnabled $false
を実行します。
を無効にする
変更を加えるときは、Set-ADSyncScheduler -SyncCycleEnabled $true
でスケジューラをもう一度有効にすることを忘れないでください。
スケジューラを起動する
スケジューラは、既定では 30 分ごとに実行されます。 場合によっては、スケジュールされたサイクルの間に同期サイクルを実行するか、別の種類を実行する必要があります。
差分同期サイクル
差分同期サイクルには、次の手順が含まれます。
- すべてのコネクタでの差分インポート
- すべてのコネクタでの差分同期
- すべてのコネクタでエクスポートする
完全同期サイクル
完全同期サイクルには、次の手順が含まれます。
- すべてのコネクタに対するフル インポート
- すべてのコネクタで完全同期
- すべてのコネクタでエクスポートする
すぐに同期する必要がある緊急の変更がある可能性があるため、手動でサイクルを実行する必要があります。
同期サイクルを手動で実行する必要がある場合は、PowerShell から Start-ADSyncSyncCycle -PolicyType Delta
実行します。
完全同期サイクルを開始するには、PowerShell プロンプトから Start-ADSyncSyncCycle -PolicyType Initial
を実行します。
完全同期サイクルの実行には非常に時間がかかる場合があります。このプロセスを最適化する方法については、次のセクションを参照してください。
さまざまな構成変更に必要な同期手順
構成の変更が異なると、すべてのオブジェクトに変更が正しく適用されるように、異なる同期手順が必要になります。
- ソース ディレクトリからインポートするオブジェクトまたは属性を追加しました (同期規則を追加または変更する)
- そのソース ディレクトリのコネクタで完全インポートが必要です
- 同期規則に変更を加えた
- 変更された同期規則については、コネクタで完全同期が必要です
- のフィルタリングが に変更されたので、異なる数のオブジェクトが含まれることになった。
- 各 AD コネクタに対してフル インポートが必要です。 例外は、同期エンジンに既にインポートされている属性に基づく属性ベースのフィルター処理を使用している場合です
同期サイクルをカスタマイズすることで、デルタ同期と完全同期のステップを適切に組み合わせて実行することができます。
完全同期サイクルを実行しないようにするには、次のコマンドレットを使用して、特定のコネクタに完全な手順を実行するようにマークします。
Set-ADSyncSchedulerConnectorOverride -Connector <ConnectorGuid> -FullImportRequired $true
Set-ADSyncSchedulerConnectorOverride -Connector <ConnectorGuid> -FullSyncRequired $true
Get-ADSyncSchedulerConnectorOverride -Connector <ConnectorGuid>
例: 新しいインポートされた属性を必要としないコネクタ "AD フォレスト A" の同期規則を変更した場合は、次のコマンドレットを実行して差分同期サイクルを実行し、そのコネクタの完全同期手順も実行します。
Set-ADSyncSchedulerConnectorOverride -ConnectorName “AD Forest A” -FullSyncRequired $true
Start-ADSyncSyncCycle -PolicyType Delta
例: コネクタ "AD フォレスト A" の同期規則を変更して、新しい属性をインポートする必要が生じるようにした場合は、次のコマンドレットを実行して差分同期サイクルを実行します。このコマンドレットでは、そのコネクタの完全なインポートと完全同期の手順も実行します。
Set-ADSyncSchedulerConnectorOverride -ConnectorName “AD Forest A” -FullImportRequired $true
Set-ADSyncSchedulerConnectorOverride -ConnectorName “AD Forest A” -FullSyncRequired $true
Start-ADSyncSyncCycle -PolicyType Delta
スケジューラを停止する
スケジューラが現在同期サイクルを実行している場合は、それを停止することが必要な場合があります。 たとえば、インストール ウィザードを起動すると、次のエラーが表示されます。
同期サイクルが実行されている場合、構成を変更することはできません。 スケジューラがプロセスを完了するまで待つことができますが、すぐに変更を加えるように停止することもできます。 現在のサイクルを停止することは有害ではなく、保留中の変更は次の実行で処理されます。
最初に、PowerShell コマンドレット
Stop-ADSyncSyncCycle
を使用して現在のサイクルを停止するようにスケジューラに指示します。1.1.281 より前のビルドを使用している場合、スケジューラを停止しても、現在のコネクタが現在のタスクから停止されることはありません。 コネクタを強制的に停止するには、次のアクションを実行します。
- [スタート] メニューから Synchronization Service を開始します。 [コネクタ]に移動し、状態が [実行中]のコネクタを強調表示し、アクションから [停止 ] を選択します。
スケジューラはまだアクティブであり、次の機会に再び開始されます。
カスタム スケジューラ
このセクションに記載されているコマンドレットは、ビルド 1.1.130.0 以降でのみ使用できます。
組み込みのスケジューラが要件を満たしていない場合は、PowerShell を使用してコネクタをスケジュールできます。
Invoke-ADSyncRunProfile
コネクタのプロファイルは、次の方法で開始できます。
Invoke-ADSyncRunProfile -ConnectorName "name of connector" -RunProfileName "name of profile"
の呼び出し
Invoke-ADSyncRunProfile
コマンドレットは同期的です。つまり、コネクタが操作を正常に完了するかエラーが発生するまで制御は返されません。
コネクタをスケジュールするときは、次の順序でスケジュールすることをお勧めします。
- オンプレミスのディレクトリ(例: Active Directory)から完全/差分インポートを行う
- (完全/差分) Microsoft Entra ID からのインポート
- (完全/差分) Active Directory などのオンプレミスのディレクトリからの同期
- (完全/差分) Microsoft Entra ID からの同期
- Microsoft Entra ID へのエクスポート
- Active Directory などのオンプレミスのディレクトリにエクスポートする
この順序は、組み込みのスケジューラがコネクタを実行する方法です。
Get-ADSyncConnectorRunStatus
同期エンジンを監視して、ビジー状態かアイドル状態かを確認することもできます。 同期エンジンがアイドル状態でコネクタを実行していない場合、このコマンドレットは空の結果を返します。 コネクタが実行されている場合は、コネクタの名前が返されます。
Get-ADSyncConnectorRunStatus
上の図では、最初の行は同期エンジンがアイドル状態の状態です。 Microsoft Entra コネクタが実行されている場合の 2 行目。
スケジューラとインストール ウィザード
インストール ウィザードを開始すると、スケジューラは一時的に中断されます。 この動作は、構成を変更することが前提であり、同期エンジンがアクティブに実行されている場合は、これらの設定を適用できないためです。 このため、同期エンジンが同期操作を実行するのを停止するため、インストール ウィザードを開いたままにしないでください。
次の手順
Microsoft Entra Connect 同期の構成の詳細をご確認ください。
オンプレミス ID と Microsoft Entra ID の統合の詳細をご確認ください。