用于 Microsoft Entra 云同步的 AADCloudSyncTools PowerShell 模块

AADCloudSyncTools 模块提供了一套有用的工具,可帮助你管理 Microsoft Entra 云同步的部署。

先决条件

可以使用 Install-AADCloudSyncToolsPrerequisites 自动安装 AADCloudSyncTools 模块的所有必备组件。 你将在本文的下一部分中执行此操作。

下面是有关所需组件的一些详细信息:

  • AADCloudSyncTools 模块使用 Microsoft 身份验证库 (MSAL) 身份验证,因此需要安装 MSAL.PS 模块。 若要验证安装,请在 PowerShell 窗口中运行 Get-module MSAL.PS -ListAvailable。 如果正确安装了该模块,你会收到响应。 如果需要,可以使用 Install-AADCloudSyncToolsPrerequisites 来安装最新版本的 MSAL.PS。

  • 尽管 AADCloudSyncTools 模块的任何功能都不需要 Microsoft Graph PowerShell 模块,但这个模块很有用。 因此,在你使用 Install-AADCloudSyncToolsPrerequisites 时,会自动安装这个模块。

  • 从 PowerShell 库安装模块需要强制实施传输层安全性 (TLS) 1.2。 cmdlet Install-AADCloudSyncToolsPrerequisites 在安装所有必备组件之前设置 TLS 1.2 强制。 若要确保可以手动安装模块,请先在 PowerShell 会话中完成以下设置,然后再使用 cmdlet:

    [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 
    
  • 如果 Microsoft Entra Connect 云预配代理未运行或配置向导未成功完成,AADCloudSyncTools 模块可能无法正常工作。

安装 AADCloudSyncTools PowerShell 模块

  1. 使用管理权限打开 Windows PowerShell。

  2. 运行 Import-module -Name "C:\Program Files\Microsoft Azure AD Connect Provisioning Agent\Utility\AADCloudSyncTools"

  3. 要验证模块是否已导入,请运行 Get-module AADCloudSyncTools

    现在应会看到有关模块的信息。

  4. 若要安装 AADCloudSyncTools 模块必备组件,请运行:Install-AADCloudSyncToolsPrerequisites

  5. 在首次运行时,将会安装 PowerShellGet 模块(如果尚不存在)。 若要加载新的 PowerShellGet 模块,请关闭 PowerShell 窗口,并使用管理员权限打开新的 PowerShell 会话。

  6. 再次运行 Import-module -Name "C:\Program Files\Microsoft Azure AD Connect Provisioning Agent\Utility\AADCloudSyncTools" 以导入该模块。

  7. 再次运行 Install-AADCloudSyncToolsPrerequisites 以安装 MSAL 和 Microsoft Graph PowerShell 模块。

    现在所有必备组件应该都已安装。

    Screenshot of the notification in the PowerShell window that says the prerequisites were installed successfully.

  8. 每次要在新的 PowerShell 会话中使用 AADCloudSyncTools 模块时,请运行以下命令:

    Import-module "C:\Program Files\Microsoft Azure AD Connect Provisioning Agent\Utility\AADCloudSyncTools"
    

AADCloudSyncTools cmdlet

注意

在使用 AADCloudSyncTools 模块之前,请确保 Microsoft Entra Connect 云预配代理正在运行,并且配置向导已成功完成。 若要排查向导问题,可以在 C:\ProgramData\Microsoft\Azure AD Connect Provisioning Agent\Trace 文件夹中找到这些跟踪日志,有关详细信息,请参阅云同步故障排除

Connect-AADCloudSyncTools

此 cmdlet 使用 MSAL.PS 模块来请求令牌,以供 Microsoft Entra 管理员访问 Microsoft Graph。

Export-AADCloudSyncToolsLogs

此 cmdlet 导出所有故障排除数据并将它们打包到压缩文件中,如下所示:

  1. 设置详细跟踪,并开始从预配代理手机数据(与 Start-AADCloudSyncToolsVerboseLogs 相同)。
  2. 3 分钟后停止数据收集,并禁用详细跟踪(与 Stop-AADCloudSyncToolsVerboseLogs 相同)。
  3. 收集过去 24 小时内的事件查看器日志。
  4. 将所有代理日志、详细日志和事件查看器日志压缩到用户“文档”文件夹中的 .zip 文件中。

可以使用以下选项来微调数据集合:

  • SkipVerboseTrace用于仅导出当前日志而不捕获详细日志(默认值 = false)。
  • TracingDurationMins用于指定不同的捕获持续时间(默认值 = 3 分钟)。
  • OutputPath用于指定不同的输出路径(默认值 = 用户的 Documents 文件夹)。

Get-AADCloudSyncToolsInfo

此 cmdlet 显示 Microsoft Entra 租户详细信息和内部变量的状态。

Get-AADCloudSyncToolsJob

此 cmdlet 使用 Microsoft Graph 获取 Microsoft Entra 服务主体,并返回同步作业的信息。 也可以使用特定的同步作业 ID 作为参数来调用此 cmdlet。

Get-AADCloudSyncToolsJobSchedule

此 cmdlet 使用 Microsoft Graph 获取 Microsoft Entra 服务主体并返回同步作业的计划。 也可以使用特定的同步作业 ID 作为参数来调用此 cmdlet。

Get-AADCloudSyncToolsJobSchema

此 cmdlet 使用 Microsoft Graph 获取 Microsoft Entra 服务主体并返回同步作业的架构。

Get-AADCloudSyncToolsJobScope

此 cmdlet 使用 Microsoft Graph 来获取所提供的同步作业 ID 的同步作业的架构,并输出所有筛选器组的范围。

Get-AADCloudSyncToolsJobSettings

此 cmdlet 使用 Microsoft Graph 获取 Microsoft Entra 服务主体并返回同步作业的设置。 也可以使用特定的同步作业 ID 作为参数来调用此 cmdlet。

Get-AADCloudSyncToolsJobStatus

此 cmdlet 使用 Microsoft Graph 获取 Microsoft Entra 服务主体并返回同步作业的状态。 也可以使用特定的同步作业 ID 作为参数来调用此 cmdlet。

Get-AADCloudSyncToolsServicePrincipal

此 cmdlet 使用 Microsoft Graph 获取 Microsoft Entra ID 和/或 Azure Service Fabric 的服务主体。 如果没有任何参数,则仅返回 Microsoft Entra 服务主体。

Install-AADCloudSyncToolsPrerequisites

此 cmdlet 将检查是否存在 PowerShellGet v 2.2.4.1 或更高版本、Microsoft Graph PowerShell 模块和 MSAL.PS 模块。 如果这些项缺失,则会安装。

Invoke-AADCloudSyncToolsGraphQuery

此 cmdlet 为指定为参数的 URI、方法和正文调用 Web 请求。

Repair-AADCloudSyncToolsAccount

此 cmdlet 使用 Microsoft Graph PowerShell 删除当前帐户(如果存在)。 然后,它会使用 Microsoft Entra ID 中新的同步帐户来重置同步帐户身份验证。

Restart-AADCloudSyncToolsJob

此 cmdlet 重新启动完全同步。

Resume-AADCloudSyncToolsJob

此 cmdlet 从上一个水印继续同步。

Start-AADCloudSyncToolsVerboseLogs

此 cmdlet 将修改 AADConnectProvisioningAgent.exe.config 以启用详细跟踪并重新启动 AADConnectProvisioningAgent 服务。 你可以使用 -SkipServiceRestart 来防止服务重启,但任何配置更改都不会生效。 可以在 C:\ProgramData\Microsoft\Azure AD Connect Provisioning Agent\Trace 文件夹中找到这些跟踪日志。

Stop-AADCloudSyncToolsVerboseLogs

此 cmdlet 将修改 AADConnectProvisioningAgent.exe.config 以禁用详细跟踪并重新启动 AADConnectProvisioningAgent 服务。 你可以使用 -SkipServiceRestart 来防止服务重启,但任何配置更改都不会生效。

Suspend-AADCloudSyncToolsJob

此 cmdlet 将暂停同步。

Disable-AADCloudSyncToolsDirSyncAccidentalDeletionPrevention

禁用 accidentalDeletionPrevention 租户功能

Disable-AADCloudSyncToolsDirSyncAccidentalDeletionPrevention -tenantId <TenantId>

此 cmdlet 需要 Microsoft Entra 租户的 TenantId。 它将验证是否已启用在租户上通过 Microsoft Entra Connect(ADSync 而不是云同步)设置的意外删除防护功能,并禁用该功能。

示例:

Disable-AADCloudSyncToolsDirSyncAccidentalDeletionPrevention -tenantId "aaaabbbb-0000-cccc-1111-dddd2222eeee"

后续步骤