本文介绍如何使用命令的 dsregcmd
输出来了解 Microsoft Entra ID 中的设备状态。 以 dsregcmd /status
域用户帐户身份运行实用工具。
设备状态
此部分列出了设备联接状态参数。 下表列出了设备处于各种联接状态所需的条件:
AzureAdJoined | EnterpriseJoined | DomainJoined | 设备状态 |
---|---|---|---|
是的 | 不 | 不 | 已建立 Microsoft Entra 联接 |
不 | 不 | 是的 | 已加入域 |
是的 | 不 | 是的 | 已建立 Microsoft Entra 混合联接 |
不 | 是的 | 是的 | 已建立本地 DRS 联接 |
AzureAdJoined:如果将设备加入到Microsoft Entra ID,请将状态设置为 “是 ”。 否则,请将状态设置为 NO。
EnterpriseJoined:如果将设备加入本地 Active Directory(AD),请将状态设置为“是”。 设备不能同时是 EnterpriseJoined 和 AzureAdJoined。
DomainJoined:如果将设备加入域(Active Directory),则将状态设置为 “是 ”。
DomainName:如果将设备加入域,请将状态设置为域的名称。
示例设备状态输出
+----------------------------------------------------------------------+
| Device State |
+----------------------------------------------------------------------+
AzureAdJoined : YES
EnterpriseJoined : NO
DomainJoined : YES
DomainName : HYBRIDADFS
+----------------------------------------------------------------------+
设备详细信息
仅当设备已建立 Microsoft Entra 联接或建立 Microsoft Entra 混合联接,但未注册 Microsoft Entra 时,才会显示状态。 本部分列出了存储在Microsoft Entra ID 中的设备标识详细信息。
- DeviceId:Microsoft Entra 租户中设备的唯一 ID。
- 指纹:设备证书的指纹。
- DeviceCertificateValidity:设备证书的有效性状态。
- KeyContainerId:与设备证书关联的设备私钥的 containerId。
- KeyProvider:用于存储设备私钥的 KeyProvider(硬件/软件)。
- TpmProtected:如果设备私钥存储在硬件受信任的平台模块(TPM)中,状态将设置为 “是 ”。
-
DeviceAuthStatus:执行检查以确定设备在 Microsoft Entra ID 中的运行状况。 健康状态为:
- 如果设备存在并在 Microsoft Entra ID 中启用,则成功。
- 失败。 设备已禁用或删除 如果已禁用或删除设备。 有关此问题的详细信息,请参阅 Microsoft Entra 设备管理常见问题解答。
- 失败。 错误 如果测试无法运行。 此测试要求在系统上下文下建立与 Microsoft Entra ID 的网络连接。
注释
DeviceAuthStatus 字段已添加到 Windows 10 2021 年 5 月更新(版本 21H1)中。
-
虚拟桌面:在三种情况下会出现这行内容。
- NOT SET - 设备上不存在 VDI 设备元数据。
- 是 - 存在 VDI 设备元数据,dsregcmd 输出关联的元数据包括:
- 提供商:VDI 供应商的名称。
- 类型:持久性 VDI 或非永久性 VDI。
- 用户模式:单用户或多用户。
- 扩展:可选供应商特定元数据中的键值对数量,后跟键值对。
- INVALID - VDI 设备元数据存在但未正确设置。 在这种情况下,dsregcmd 输出不正确的元数据。
示例设备详细信息输出
+----------------------------------------------------------------------+
| Device Details |
+----------------------------------------------------------------------+
DeviceId : 00aa00aa-bb11-cc22-dd33-44ee44ee44ee
Thumbprint : AA11BB22CC33DD44EE55FF66AA77BB88CC99DD00
DeviceCertificateValidity : [ 2019-01-11 21:02:50.000 UTC -- 2029-01-11 21:32:50.000 UTC ]
KeyContainerId : 00aa00aa-bb11-cc22-dd33-44ee44ee44ee
KeyProvider : Microsoft Software Key Storage Provider
TpmProtected : NO
DeviceAuthStatus : SUCCESS
+----------------------------------------------------------------------+
租户详细信息
仅当设备已建立 Microsoft Entra 联接或建立 Microsoft Entra 混合联接,但未注册 Microsoft Entra 时,才会显示租户详细信息。 本部分列出了在设备加入到 Microsoft Entra ID 时显示的常见租户详细信息。
注释
如果本节中的移动设备管理 (MDM) URL 字段为空,则表示未配置 MDM 或当前用户不在 MDM 注册范围内。 检查Microsoft Entra ID 中的移动设置以查看 MDM 配置。
MDM URL 的存在不能保证设备由 MDM 管理。 如果租户具有用于自动注册的 MDM 配置,即使设备本身不受管理,也会显示此信息。
示例租户详细信息输出
+----------------------------------------------------------------------+
| Tenant Details |
+----------------------------------------------------------------------+
TenantName : HybridADFS
TenantId : aaaabbbb-0000-cccc-1111-dddd2222eeee
Idp : login.windows.net
AuthCodeUrl : https://login.microsoftonline.com/aaaabbbb-0000-cccc-1111-dddd2222eeee/oauth2/authorize
AccessTokenUrl : https://login.microsoftonline.com/aaaabbbb-0000-cccc-1111-dddd2222eeee/oauth2/token
MdmUrl : https://enrollment.manage-beta.microsoft.com/EnrollmentServer/Discovery.svc
MdmTouUrl : https://portal.manage-beta.microsoft.com/TermsOfUse.aspx
MdmComplianceUrl : https://portal.manage-beta.microsoft.com/?portalAction=Compliance
SettingsUrl : eyJVx{lots of characters}xxxx==
JoinSrvVersion : 1.0
JoinSrvUrl : https://enterpriseregistration.windows.net/EnrollmentServer/device/
JoinSrvId : urn:ms-drs:enterpriseregistration.windows.net
KeySrvVersion : 1.0
KeySrvUrl : https://enterpriseregistration.windows.net/EnrollmentServer/key/
KeySrvId : urn:ms-drs:enterpriseregistration.windows.net
WebAuthNSrvVersion : 1.0
WebAuthNSrvUrl : https://enterpriseregistration.windows.net/webauthn/aaaabbbb-0000-cccc-1111-dddd2222eeee/
WebAuthNSrvId : urn:ms-drs:enterpriseregistration.windows.net
DeviceManagementSrvVer : 1.0
DeviceManagementSrvUrl : https://enterpriseregistration.windows.net/manage/aaaabbbb-0000-cccc-1111-dddd2222eeee/
DeviceManagementSrvId : urn:ms-drs:enterpriseregistration.windows.net
+----------------------------------------------------------------------+
用户状态
本部分列出了当前登录到设备的用户的各种属性的状态。
注释
该命令必须在用户上下文中运行才能检索有效状态。
- NgcSet:如果为当前登录用户设置了 Windows Hello 密钥,则将状态设置为 “是 ”。
- NgcKeyId:如果为当前登录用户设置了一个密钥,则为 Windows Hello 密钥的 ID。
- CanReset:表示用户是否可以重置 Windows Hello 密钥。
- 可能的值:DestructiveOnly、NonDestructiveOnly、DestructiveAndNonDestructive 或 Unknown(如果错误)。
- WorkplaceJoined:如果在当前 NTUSER 上下文中的设备中添加了 Microsoft Entra 已注册的帐户,请将状态设置为 “是”。
-
WamDefaultSet:如果为登录用户创建了 Web 帐户管理器(WAM)默认的 WebAccount,则将状态设置为 “是 ”。 如果
dsregcmd /status
从提升的命令提示符运行,则此字段可能显示错误。 - WamDefaultAuthority:对于 Microsoft Entra ID,将该状态设置为“组织”。
- WamDefaultId:始终对 Microsoft Entra ID 使用 https://login.microsoft.com。
- WamDefaultGUID:默认 WAM WebAccount 的 WAM 提供程序(Microsoft Entra ID/Microsoft 帐户)的 GUID。
示例用户状态输出
+----------------------------------------------------------------------+
| User State |
+----------------------------------------------------------------------+
NgcSet : YES
NgcKeyId : {aaaaaaaa-0b0b-1c1c-2d2d-333333333333}
CanReset : DestructiveAndNonDestructive
WorkplaceJoined : NO
WamDefaultSet : YES
WamDefaultAuthority : organizations
WamDefaultId : https://login.microsoft.com
WamDefaultGUID : { B16898C6-A148-4967-9171-64D755DA8520 } (AzureAd)
+----------------------------------------------------------------------+
SSO 状态
对于 Microsoft Entra 注册的设备,可以忽略此部分。
注释
该命令必须在用户上下文中运行才能检索该用户的有效状态。
- AzureAdPrt:如果登录用户设备上存在主刷新令牌(PRT),请将状态设置为 “是 ”。
- AzureAdPrtUpdateTime:将状态设置为 上次更新 PRT 的时间(UTC)。
- AzureAdPrtExpiryTime:将该状态设置为 PRT 将要过期(如果未续订)的 UTC 时间。
- AzureAdPrtAuthority:Microsoft Entra 颁发机构的 URL
- EnterprisePrt:如果设备具有来自本地 Active Directory 联合身份验证服务(AD FS)的 PRT,请将状态设置为 “是 ”。 对于已建立 Microsoft Entra 混合联接的设备,该设备可同时具有来自 Microsoft Entra ID 和本地 Active Directory 的 PRT。 本地联接设备仅具有 Enterprise PRT。
- EnterprisePrtUpdateTime:将状态设置为上次更新企业 PRT 的时间(UTC)。
- EnterprisePrtExpiryTime:将该状态设置为 PRT 将要过期(如果未续订)的 UTC 时间。
- EnterprisePrtAuthority:AD FS 颁发机构的 URL
注释
Windows 10 2021 年 5 月更新(版本 21H1)中添加了以下 PRT 诊断字段。
- AzureAdPrt 字段中显示的诊断信息用于Microsoft Entra PRT 获取或刷新,EnterprisePrt 字段中显示的诊断信息用于企业 PRT 获取或刷新。
- 仅当在上一次成功的 PRT 更新时间 (AzureAdPrtUpdateTime/EnterprisePrtUpdateTime) 之后,出现获取或刷新失败时,才会显示诊断信息。
在共享设备上,此诊断信息可能来自其他用户的登录尝试。
-
AcquirePrtDiagnostics:如果日志中存在获取的 PRT 诊断信息,请将状态设置为 PRESENT 。
- 如果没有可用的诊断信息,则会跳过此字段。
- 以前的 Prt 尝试:发生失败的 PRT 尝试的本地时间(UTC)。
- 尝试状态:返回的客户端错误代码(HRESULT)。
- 用户标识:发生 PRT 尝试的用户的 UPN。
- 凭据类型:用于获取或刷新 PRT 的凭据。 常见凭据类型为密码和下一代凭据(NGC)(适用于 Windows Hello)。
- 相关 ID:服务器针对失败的 PRT 尝试发送的相关 ID。
- 终结点 URI:失败前访问的最后一个终结点。
- HTTP 方法:用于访问终结点的 HTTP 方法。
- HTTP 错误:WinHttp 传输错误代码。 获取其他 网络错误代码。
- HTTP 状态:终结点返回的 HTTP 状态。
- 服务器错误代码:来自服务器的错误代码。
- 服务器错误说明:来自服务器的错误消息。
-
RefreshPrtDiagnostics:如果日志中存在获取的 PRT 诊断信息,请将状态设置为 PRESENT 。
- 如果没有可用的诊断信息,则会跳过此字段。
- 诊断信息字段与 AcquirePrtDiagnostics 相同。
注释
在 Windows 11(版本 21H2)的原始版本中添加了以下 Cloud Kerberos 诊断字段。
- OnPremTgt:如果登录用户的设备上存在用于访问本地资源的云 Kerberos 票证,请将状态设置为 “是 ”。
- CloudTgt:如果设备上存在用于访问云资源的 Cloud Kerberos 票证供已登录的用户使用,请将状态设置为“是”。
- KerbTopLevelNames:云 Kerberos 的顶级 Kerberos 领域名称列表。
示例 SSO 状态输出
+----------------------------------------------------------------------+
| SSO State |
+----------------------------------------------------------------------+
AzureAdPrt : NO
AzureAdPrtAuthority : https://login.microsoftonline.com/aaaabbbb-0000-cccc-1111-dddd2222eeee
AcquirePrtDiagnostics : PRESENT
Previous Prt Attempt : 2020-07-18 20:10:33.789 UTC
Attempt Status : 0xc000006d
User Identity : john@contoso.com
Credential Type : Password
Correlation ID : aaaa0000-bb11-2222-33cc-444444dddddd
Endpoint URI : https://login.microsoftonline.com/aaaabbbb-0000-cccc-1111-dddd2222eeee/oauth2/token/
HTTP Method : POST
HTTP Error : 0x0
HTTP status : 400
Server Error Code : invalid_grant
Server Error Description : AADSTS50126: Error validating credentials due to invalid username or password.
EnterprisePrt : YES
EnterprisePrtUpdateTime : 2019-01-24 19:15:33.000 UTC
EnterprisePrtExpiryTime : 2019-02-07 19:15:33.000 UTC
EnterprisePrtAuthority : https://fs.hybridadfs.nttest.microsoft.com:443/adfs
OnPremTgt : YES
CloudTgt : YES
KerbTopLevelNames : .windows.net,.windows.net:1433,.windows.net:3342,.azure.net,.azure.net:1433,.azure.net:3342
+----------------------------------------------------------------------+
诊断数据
联接前诊断
仅当设备已加入域但无法建立 Microsoft Entra 混合联接时,才会显示此诊断部分。
本部分执行各种测试来帮助诊断联接失败。 信息包括:错误阶段、错误代码、服务器请求 ID、服务器响应 HTTP 状态和服务器响应错误消息。
用户上下文:运行诊断的上下文。 可能的值:SYSTEM、UN-ELEVATED User、ELEVATED User。
注释
由于实际联接是在 SYSTEM 上下文中执行的,因此在 SYSTEM 上下文中运行诊断最接近实际联接方案。 若要在 SYSTEM 上下文中运行诊断,
dsregcmd /status
命令必须在提升的命令提示符下运行。客户端时间:系统时间(UTC)。
AD 连接测试:此测试对域控制器执行连接测试。 此测试中的错误可能导致预检查阶段出现联接错误。
AD 配置测试:此测试读取并验证是否已在本地 Active Directory 林中正确配置服务连接点 (SCP) 对象。 此测试中的错误可能会导致发现阶段出现联接错误,错误代码为 0x801c001d。
DRS 发现测试:此测试从发现元数据终结点获取 DRS 终结点,并执行用户领域请求。 此测试中的错误可能会导致发现阶段出现联接错误。
DRS 连接测试:此测试对 DRS 终结点执行基本连接测试。
令牌获取测试:如果用户租户是联合租户,此测试将尝试获取 Microsoft Entra 身份验证令牌。 此测试中的错误可能会导致身份验证阶段出现联接错误。 如果身份验证失败,则会以回退的形式尝试同步联接,除非使用以下注册表项设置显式禁用回退:
Keyname: Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\CDJ Value: FallbackToSyncJoin Type: REG_DWORD Value: 0x0 -> Disabled Value: 0x1 -> Enabled Default (No Key): Enabled
回退以同步联接:如果前面的注册表项不存在(为防止回退以对身份验证失败同步联接),则将此状态设置为“启用”。 此选项可从 Windows 10 1803 及更高版本获取。
上一次注册:上一次加入尝试发生的时间。 仅记录失败的联接尝试。
错误阶段:中止联接的阶段。 可能的值为 预检查、 发现、 身份验证和 联接。
客户端 ErrorCode:返回的客户端错误代码(HRESULT)。
服务器错误代码:如果向服务器发送了请求,并且服务器用错误代码响应,则显示服务器错误代码。
服务器消息:返回的服务器消息以及错误代码。
Https 状态:服务器返回的 HTTP 状态。
请求 ID:客户端发送到服务器的请求 ID。 请求 ID 可用于与服务器端日志相关联。
联接前诊断输出示例
以下示例演示诊断测试失败并出现发现错误。
+----------------------------------------------------------------------+
| Diagnostic Data |
+----------------------------------------------------------------------+
Diagnostics Reference : www.microsoft.com/aadjerrors
User Context : SYSTEM
Client Time : 2019-01-31 09:25:31.000 UTC
AD Connectivity Test : PASS
AD Configuration Test : PASS
DRS Discovery Test : FAIL [0x801c0021/0x801c000c]
DRS Connectivity Test : SKIPPED
Token acquisition Test : SKIPPED
Fallback to Sync-Join : ENABLED
Previous Registration : 2019-01-31 09:23:30.000 UTC
Error Phase : discover
Client ErrorCode : 0x801c0021
+----------------------------------------------------------------------+
以下示例展示了诊断测试通过,但注册尝试因目录错误而失败,这是同步联接的预期错误。 Microsoft Entra Connect 同步作业完成后,设备能够加入。
+----------------------------------------------------------------------+
| Diagnostic Data |
+----------------------------------------------------------------------+
Diagnostics Reference : www.microsoft.com/aadjerrors
User Context : SYSTEM
Client Time : 2019-01-31 09:16:50.000 UTC
AD Connectivity Test : PASS
AD Configuration Test : PASS
DRS Discovery Test : PASS
DRS Connectivity Test : PASS
Token acquisition Test : PASS
Fallback to Sync-Join : ENABLED
Previous Registration : 2019-01-31 09:16:43.000 UTC
Registration Type : sync
Error Phase : join
Client ErrorCode : 0x801c03f2
Server ErrorCode : DirectoryError
Server Message : The device object by the given id (aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb) isn't found.
Https Status : 400
Request Id : 6bff0bd9-820b-484b-ab20-2a4f7b76c58e
+----------------------------------------------------------------------+
联接后诊断
此诊断部分显示对已加入云的设备执行的检查的输出。
- AadRecoveryEnabled:如果值为 YES,则设备中存储的密钥不可用,并将设备标记为恢复。 下一个登录将触发恢复流并重新注册设备。
-
KeySignTest:如果值为 PASSED,则设备密钥运行状况良好。 如果 KeySignTest 失败,设备通常会被标记为需要恢复。 下一个登录将触发恢复流并重新注册设备。 对于已建立 Microsoft Entra 混合联接的设备,恢复没有提示。 当设备已加入 Microsoft Entra 或已注册 Microsoft Entra 时,系统会提示用户进行身份验证,以在必要时恢复和重新注册设备。
注释
KeySignTest 需要提升的权限。
联接后诊断输出示例
+----------------------------------------------------------------------+
| Diagnostic Data |
+----------------------------------------------------------------------+
AadRecoveryEnabled: NO
KeySignTest : PASSED
+----------------------------------------------------------------------+
NGC 先决条件检查
此诊断部分执行设置 Windows Hello 企业版(WHFB)的先决条件检查。
注释
如果用户成功配置了 WHFB,则您可能看不到 dsregcmd /status
中的 NGC 先决条件检查详细信息。
- IsDeviceJoined:如果将设备加入 Microsoft Entra ID,请将状态设置为 YES 。
- IsUserAzureAD:如果登录用户存在于 Microsoft Entra ID 中,则将状态设置为 “是 ”。
- PolicyEnabled:如果设备上启用了 WHFB 策略,请将状态设置为 “是 ”。
- PostLogonEnabled:如果平台以原生方式触发 WHFB 注册,则将该状态设置为“是”。 如果状态设置为 NO,则表示 Windows Hello 企业版注册由自定义机制触发。
- DeviceEligible:如果设备满足向 WHFB 注册的硬件要求,请将状态设置为 “是 ”。
- SessionIsNotRemote:如果当前用户直接登录到设备,而不是远程登录,则将状态设置为 “是 ”。
- CertEnrollment:此设置特定于 WHFB 证书信任部署,指示 WHFB 的证书注册机构。 如果 WHFB 策略的源为组策略,请将状态设置为 注册机构 ,或者将其设置为 移动设备管理 (如果源为 MDM)。 如果两个源均未应用,请将状态设置为 none。
- AdfsRefreshToken:此设置特定于 WHFB 证书信任部署,仅在 CertEnrollment 状态为 注册机构时才存在。 该设置指示设备是否为用户提供 Enterprise PRT。
- AdfsRaIsReady:此设置特定于 WHFB 证书信任部署,只有在 CertEnrollment 状态为“注册机构”时才存在。 如果 AD FS 在发现元数据中指示它支持 WHFB 且登录证书模板可用,请将状态设置为“是”。
- LogonCertTemplateReady:此设置特定于 WHFB 证书信任部署,仅在 CertEnrollment 状态为 注册机构时才存在。 如果登录证书模板的状态有效,并且有助于排查 AD FS 注册机构(RA)的问题,请将状态设置为 “是 ”。
- PreReqResult:提供所有 WHFB 先决条件评估的结果。 如果 WHFB 注册将在用户下次登录时作为登录后任务启动,则将该状态设置为“将预配”。
注释
Windows 10 2021 年 5 月更新(版本 21H1)中添加了以下 Cloud Kerberos 诊断字段。
在 Windows 11 版本 23H2 之前, OnPremTGT 的设置名为 CloudTGT。
- OnPremTGT:此设置特定于 Cloud Kerberos 信任部署,仅当 CertEnrollment 状态 为 none 时才存在。 如果设备具有云 Kerberos 票证来访问本地资源,请将状态设置为 “是 ”。 在 Windows 11 版本 23H2 之前,此设置名为 CloudTGT。
NGC 先决条件检查输出示例
+----------------------------------------------------------------------+
| Ngc Prerequisite Check |
+----------------------------------------------------------------------+
IsDeviceJoined : YES
IsUserAzureAD : YES
PolicyEnabled : YES
PostLogonEnabled : YES
DeviceEligible : YES
SessionIsNotRemote : YES
CertEnrollment : enrollment authority
AdfsRefreshToken : YES
AdfsRaIsReady : YES
LogonCertTemplateReady : YES ( StateReady )
PreReqResult : WillProvision
+----------------------------------------------------------------------+
后续步骤
转到 Microsoft 错误查找工具。