掌握Azure AD Connect:同步调度和强制同步

将您的本地Active Directory域服务(AD)与Azure AD集成(并进行同步)是通过使用Synchronization Service Manager GUI或通过PowerShell完成的。

有两种在本地使用Azure AD的方法 – 通过身份验证(直接将身份验证请求发送到Azure AD)或目录同步,该同步在本地AD和Azure AD之间同步密码哈希。在本篇博客文章中,我们将介绍如何设置Azure Active Directory Connect软件来同步密码哈希。

我们将介绍如何启动定期同步,以及如何使用Azure AD Connect强制进行密码哈希同步。

简而言之,要使用PowerShell强制Azure AD进行同步,需要以下步骤:

  1. 安装Azure Active Directory Connect
  2. 导入ADSync PowerShell模块
  3. 使用Start-AdSyncSchedule cmdlet读取域控制器的密码哈希并与Azure AD进行同步。

如果您更喜欢通过视频学习,请务必查看这个信息丰富的TechSnips视频。

安装Azure AD Connect

要将本地Active Directory同步到Azure AD租户,首先需要下载并安装Azure AD Connect软件。为此,您有两个选项。您可以从Azure门户下载,也可以直接访问软件包

从Azure门户下载

如果您选择不从Microsoft网站下载软件包,则需要从Azure门户获取软件包。

在门户中搜索“Azure Active Directory”。在Azure Active Directory部分,点击Azure AD Connect。在这里,您将找到一个同步状态部分,其中包含一个链接,可用于下载Azure AD Connect

Azure Portal – Azure AD Connect

同步工具

安装Azure AD Connect后,它会安装两个主要工具,您可以使用这些工具来安排同步或强制同步。

  • ADSync PowerShell模块
  • 同步服务管理器

使用这两个工具,您可以设置定期(计划)同步以定期执行Azure AD同步。或者,您可以使用其中一个来临时强制同步。这两个工具执行相同的行为。唯一的区别是一个是通过命令行(PowerShell),另一个是GUI应用程序。

设置ADSync PowerShell模块

安装Azure AD Connect时,它会安装一个名为ADSync的PowerShell模块。该模块包含可让您使用PowerShell管理同步过程的命令。

请注意,在本文中,我使用的是 Windows PowerShell 5.1。如果您使用的是较旧的版本,结果可能会有所不同。

与所有的 PowerShell 模块一样,导入模块非常简单。但是,该模块 位于已知的 Windows PowerShell 模块文件夹中。安装会将 PowerShell 模块安装在 C:\Program Files\Microsoft Azure AD Connect Sync\Bin 文件夹中。

要导入该模块,请打开 PowerShell 控制台并输入以下命令:

PS51> Import-Module –Name "C:\Program Files\Microsoft Azure AD Sync\Bin\ADSync" -Verbose

要验证模块是否已导入,请使用 Get-Module 命令。您应该看到列出了 ADSync 模块。

ADSync PowerShell Module

默认的 Azure AD 同步计划

默认情况下,Azure AD Connect 创建一个定期任务,每隔 30 分钟运行一次增量同步(仅同步不同的对象)。您可以在任务计划程序中找到计划,打开 Task Scheduler 即可。您应该在 Microsoft –> Windows 下看到一个名为 Azure AD Sync Scheduler 的计划任务。

Azure AD Sync Scheduler scheduled task

您可以更改此计划,但请注意,30 分钟是支持的最低间隔。目标是设置同步间隔,使其发生频率足够高,以便获取更改。如果同步时间太短,您可能会使网络过载。

调度程序处理两个任务:

调度程序本身始终在运行,但可以配置为仅运行其中一个或不运行任何任务。

强制执行 Azure AD 连接同步

有时您可能需要强制同步对象。例如,如果您需要拥有自己的同步周期流程,可以在调度程序中禁用此任务,但仍然运行维护任务。

要使用 Azure Active Directory 连接强制执行密码同步和其他信息,可以使用同步服务管理器或 PowerShell。

使用同步服务管理器强制同步

在安装了 Azure AD 连接的服务器上,转到开始菜单,选择AD 连接,然后选择同步服务

乍一看,它可能令人生畏,但您只需关注连接器选项卡和右侧的选择窗格。在右侧窗格中,您可以看到停止(停止)和启动(运行)同步的选项。

Synchronization Service Manager

注意:在同步周期运行时,您不能进行配置更改。停止当前周期不会造成损害,待处理的更改将在下一次运行时生效。

使用 PowerShell 获取同步状态

在强制同步之前,最好获取当前同步周期的状态。如果在当前同步运行期间强制同步,可能会导致以后出现一些问题。

要查看当前设置,请在安装了 Azure Active Directory Connect 的服务器上打开 PowerShell 控制台,并运行 Get-ADSyncScheduler。您将看到几个属性,每个都提供有用的信息。

Get-AdSyncScheduler

有很多信息需要解析。让我们逐行进行说明:

  • AllowedSyncCycleInterval – 这是同步之间的最短时间。默认设置为30分钟,是允许的最短时间。
  • CurrentlyEffectiveSyncCycleInterval当前生效的计划。如果不比AllowedSyncInterval更频繁,则其值与CustomizedSyncInterval(如果已设置)相同。如果使用1.1.281版本之前的版本并更改了CustomizedSyncCycleInterval,此更改将在下一次同步周期之后生效。从1.1.281版本开始,更改将立即生效。
  • CustomizedSyncCycleInterval如果要以非默认30分钟的频率运行调度程序,则设置此项。
  • NextSyncCyclePolicyType此参数定义下一次运行应处理的内容。如果下一次运行是完全同步,则最初会显示。
  • NextSyncCycleStartTimeInUTC这是调度程序启动下一个同步周期的时间。
  • PurgeRunHistoryInterval设置操作日志保留的时间。默认为保留日志7天。
  • SyncCycleEnabled指示调度程序是否作为其操作的一部分运行导入、同步和导出过程。
  • MaintenanceEnabled启用维护会更新证书/密钥并清除操作日志。
  • StagingModeEnabled – 如果启用,它会抑制导出的运行。同步。
  • SchedulerSuspended – 设置为临时阻止调度程序运行。

使用 PowerShell 强制同步

通过检查 NCSC 密码列表检查活动目录中的泄漏和不安全密码。

在强制同步时,您有几个选项。您可以强制进行完全同步或增量同步。完全同步会检查 AD 中的所有对象。增量同步只会检查并同步自上次运行以来的更改。

要开始完整同步,您可以使用Start-AdSyncSyncCycle cmdlet。使用PolicyType参数根据您想要启动的同步类型选择FullDelta。任何一种方法都会强制进行一次AD同步,包括Office 365、用户标识账户和所有其他属性。

PS51> Start-ADSyncSyncCycle -PolicyType Full
PS51> Start-ADSyncSyncCycle -PolicyType Delta

停止同步

如果您想要停止正在进行的同步,您也可以使用Stop-ADSyncSyncCycle cmdlet。

PS51> Stop-ADSyncSyncCycle

总结

无论您选择使用GUI还是PowerShell,您现在应该知道使用Azure Active Directory Connect工具调度或强制与您的本地Active Directory环境与Azure AD同步的各种方法。

Source:
https://adamtheautomator.com/azure-ad-connect/