AD FS 帮助诊断分析器
AD FS 包含许多设置,这些设置支持它为身份验证和应用程序开发提供的各种功能。 在故障排除过程中,建议确保已正确配置了所有 AD FS 设置。 对这些设置进行手动检查有时非常耗时。 AD FS 帮助诊断分析器可以使用 ADFSToolbox PowerShell 模块帮助执行基本检查。 执行检查后,AD FS 帮助将提供诊断分析器,以帮助你轻松地查看结果并提供补救步骤。
诊断操作可分为三个简单步骤:
- 步骤 1 - 在主 AD FS 服务器或 WAP 服务器上设置 ADFSToolbox 模块
- 步骤 2- 执行诊断并将文件上载到 AD FS 帮助
- 步骤 3 - 查看诊断分析并解决任何问题
转到 AD FS 帮助诊断分析器https://aka.ms/adfsdiagnosticsanalyzer)以开始排除故障。
步骤 1:在 AD FS 服务器上设置 ADFSToolbox 模块
要运行诊断分析器,必须安装 ADFSToolbox PowerShell 模块。 如果 AD FS 服务器已连接到 Internet,则可以直接从 PowerShell 库安装 ADFSToolbox 模块。 如果无法连接到 Internet,可以手动安装它。
[!警告] 如果使用 AD FS 2.1 或更低版本,则必须安装 ADFSToolbox 版本 1.0.13。 最新版本的 ADFSToolbox 不再支持 AD FS 2.1 或更低版本。
使用 PowerShell 库进行安装
如果 AD FS 服务器具有 Internet 连接,建议使用以下 PowerShell 命令直接从 PowerShell 库安装 ADFSToolbox 模块。
Install-Module -Name ADFSToolbox -force
Import-Module ADFSToolbox -force
手动设置
必须手动将 ADFSToolbox 模块复制到 AD FS 或 WAP 服务器。 以下过程将 ADFSToolbox 复制到所需位置。
在可以访问 Internet 的计算机上启动提升的 PowerShell 窗口。
安装 AD FS 工具箱模块。
Install-Module -Name ADFSToolbox -Force
将本地计算机上位于
%SYSTEMDRIVE%\Program Files\WindowsPowerShell\Modules\
的 ADFSToolbox 文件夹复制到 AD FS 或 WAP 计算机上的相同位置。在 AD FS 计算机上启动提升的 PowerShell 窗口,然后运行以下 cmdlet 以导入模块。
Import-Module ADFSToolbox -Force
步骤 2:执行诊断 cmdlet
可以使用单个命令在场中的所有 AD FS 服务器上方便地执行诊断测试。 PowerShell 模块使用远程 PowerShell 会话跨服务器场中的不同服务器执行诊断测试。
Export-AdfsDiagnosticsFile [-ServerNames <list of servers>]
在 Windows Server 2016 或更高版本的 AD FS 场中,该命令从 AD FS 配置中读取 AD FS 服务器列表。 然后尝试对列表中的每个服务器进行诊断测试。 如果 AD FS 服务器列表不可用(例如 2012R2),则对本地计算机运行测试。 若要指定要对其执行测试的服务器列表,请使用 ServerNames 参数提供服务器列表。 提供了以下示例。
Export-AdfsDiagnosticsFile -ServerNames @("adfs1.contoso.com", "adfs2.contoso.com")
此示例的结果是在运行命令的同一目录中创建了一个 JSON 文件。 该文件的名称为 AdfsDiagnosticsFile-<timestamp>。 示例文件名为 AdfsDiagnosticsFile-07312019-184201.json。
步骤 3:上传诊断文件
按照 https://aka.ms/adfsdiagnosticsanalyzer 一文的第 3 步操作,使用文件浏览器选择要上传的结果文件。
选择“上传”以完成上传。
使用 Microsoft 帐户登录时,可以保存你的诊断结果以供以后查看,并可以将其发送给 Microsoft 支持部门。 如果你随时提交支持案例,Microsoft 能够查看诊断分析器结果并帮助更快地排查问题。
步骤 4:查看诊断分析并解决任何问题
测试结果有五个部分:
- 失败:此部分包含失败测试的列表。
- 警告:此部分包含导致警告的测试的列表。 这些问题不会导致更大范围的身份验证问题,但应尽早解决。
- 已通过:此部分包含已通过且无需执行其他操作的测试的列表。
- 未运行:此部分包含由于缺少信息而无法运行的测试的列表。
- 不适用:此部分包含未执行的测试的列表,因为这些测试不适用于正在执行命令的特定服务器。
将显示每个测试结果,其中包含描述测试的详细信息和解决方法步骤。 详细信息包括:
- 测试名称:执行的测试的名称
- 说明:测试的说明
- 详细信息:测试期间执行的整体操作的说明
- 解决步骤:解决测试突出显示的问题的建议步骤