You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: docs/identity/devices/troubleshoot-device-dsregcmd.md
+46-51
Original file line number
Diff line number
Diff line change
@@ -1,18 +1,16 @@
1
1
---
2
2
title: Troubleshoot devices by using the dsregcmd command
3
3
description: This article covers how to use the output from the dsregcmd command to understand the state of devices in Microsoft Entra ID.
4
-
services: active-directory
4
+
5
5
ms.service: active-directory
6
6
ms.subservice: devices
7
7
ms.topic: troubleshooting
8
-
ms.date: 08/31/2022
8
+
ms.date: 01/09/2024
9
9
10
10
ms.author: joflore
11
11
author: MicrosoftGuyJFlo
12
12
manager: amycolannino
13
-
ms.reviewer: ravenn
14
-
15
-
ms.collection: M365-identity-device-management
13
+
ms.reviewer: jploegert
16
14
---
17
15
# Troubleshoot devices by using the dsregcmd command
18
16
@@ -23,7 +21,7 @@ This article covers how to use the output from the `dsregcmd` command to underst
23
21
This section lists the device join state parameters. The criteria that are required for the device to be in various join states are listed in the following table:
24
22
25
23
| AzureAdJoined | EnterpriseJoined | DomainJoined | Device state |
26
-
| ---| ---| ---| ---|
24
+
| ---| ---| ---| ---|
27
25
| YES | NO | NO | Microsoft Entra joined |
28
26
| NO | NO | YES | Domain Joined |
29
27
| YES | NO | YES | Microsoft Entra hybrid joined |
@@ -57,23 +55,23 @@ The state is displayed only when the device is Microsoft Entra joined or Microso
57
55
-**DeviceId**: The unique ID of the device in the Microsoft Entra tenant.
58
56
-**Thumbprint**: The thumbprint of the device certificate.
59
57
-**DeviceCertificateValidity**: The validity status of the device certificate.
60
-
-**KeyContainerId**: The containerId of the device private key that's associated with the device certificate.
61
-
-**KeyProvider**: The KeyProvider (Hardware/Software) that's used to store the device private key.
58
+
-**KeyContainerId**: The containerId of the device private key associated with the device certificate.
59
+
-**KeyProvider**: The KeyProvider (Hardware/Software) used to store the device private key.
62
60
-**TpmProtected**: The state is set to *YES* if the device private key is stored in a hardware Trusted Platform Module (TPM).
63
61
-**DeviceAuthStatus**: Performs a check to determine the device's health in Microsoft Entra ID. The health statuses are:
64
-
**SUCCESS* if the device is present and enabled in Microsoft Entra ID.
65
-
**FAILED. Device is either disabled or deleted* if the device is either disabled or deleted. For more information about this issue, see [Microsoft Entra device management FAQ](faq.yml#why-do-my-users-see-an-error-message-saying--your-organization-has-deleted-the-device--or--your-organization-has-disabled-the-device--on-their-windows-10-11-devices).
66
-
**FAILED. ERROR* if the test was unable to run. This test requires network connectivity to Microsoft Entra ID under the system context.
67
-
> [!NOTE]
68
-
> The **DeviceAuthStatus** field was added in the Windows 10 May 2021 update (version 21H1).
62
+
-*SUCCESS* if the device is present and enabled in Microsoft Entra ID.
63
+
-*FAILED. Device is either disabled or deleted* if the device is either disabled or deleted. For more information about this issue, see [Microsoft Entra device management FAQ](faq.yml#why-do-my-users-see-an-error-message-saying--your-organization-has-deleted-the-device--or--your-organization-has-disabled-the-device--on-their-windows-10-11-devices).
64
+
-*FAILED. ERROR* if the test was unable to run. This test requires network connectivity to Microsoft Entra ID under the system context.
65
+
> [!NOTE]
66
+
> The **DeviceAuthStatus** field was added in the Windows 10 May 2021 update (version 21H1).
69
67
-**Virtual Desktop**: There are three cases where this appears.
70
-
- NOT SET - VDI device metadata is not present on the device.
68
+
- NOT SET - VDI device metadata isn't present on the device.
71
69
- YES - VDI device metadata is present and dsregcmd outputs associated metadata including:
72
70
- Provider: Name of the VDI vendor.
73
71
- Type: Persistent VDI or non-persistent VDI.
74
72
- User mode: Single user or multi-user.
75
73
- Extensions: Number of key value pairs in optional vendor specific metadata, followed by key value pairs.
76
-
- INVALID - The VDI device metadata is present but not set correctly. In this case, dsregcmd outputs the incorrect metadata.
74
+
- INVALID - The VDI device metadata is present but not set correctly. In this case, dsregcmd outputs the incorrect metadata.
77
75
78
76
### Sample device details output
79
77
@@ -98,8 +96,7 @@ The tenant details are displayed only when the device is Microsoft Entra joined
98
96
99
97
> [!NOTE]
100
98
> If the mobile device management (MDM) URL fields in this section are empty, it indicates either that the MDM was not configured or that the current user isn't in scope of MDM enrollment. Check the Mobility settings in Microsoft Entra ID to review your MDM configuration.
101
-
102
-
> [!NOTE]
99
+
>
103
100
> Even if you see MDM URLs, this does not mean that the device is managed by an MDM. The information is displayed if the tenant has MDM configuration for auto-enrollment even if the device itself isn't managed.
104
101
105
102
### Sample tenant details output
@@ -177,39 +174,38 @@ You can ignore this section for Microsoft Entra registered devices.
177
174
> The command must run in a user context to retrieve that user's valid status.
178
175
179
176
-**AzureAdPrt**: Set the state to *YES* if a Primary Refresh Token (PRT) is present on the device for the logged-in user.
180
-
-**AzureAdPrtUpdateTime**: Set the state to the time, in Coordinated Universal Time (UTC), when the PRT was last updated.
177
+
-**AzureAdPrtUpdateTime**: Set the state to the time, in Coordinated Universal Time (UTC), when the [PRT was last updated](concept-primary-refresh-token.md#how-is-a-prt-renewed).
181
178
-**AzureAdPrtExpiryTime**: Set the state to the time, in UTC, when the PRT is going to expire if it isn't renewed.
182
179
-**AzureAdPrtAuthority**: The Microsoft Entra authority URL
183
180
-**EnterprisePrt**: Set the state to *YES* if the device has a PRT from on-premises
184
-
Active Directory Federation Services (AD FS). For Microsoft Entra hybrid joined devices, the device could have a PRT from both Microsoft Entra ID and on-premises Active Directory simultaneously. On-premises joined devices will have only an Enterprise PRT.
181
+
Active Directory Federation Services (AD FS). For Microsoft Entra hybrid joined devices, the device could have a PRT from both Microsoft Entra ID and on-premises Active Directory simultaneously. On-premises joined devices have only an Enterprise PRT.
185
182
-**EnterprisePrtUpdateTime**: Set the state to the time, in UTC, when the Enterprise PRT was last updated.
186
183
-**EnterprisePrtExpiryTime**: Set the state to the time, in UTC, when the PRT is going to expire if it isn't renewed.
187
184
-**EnterprisePrtAuthority**: The AD FS authority URL
188
185
189
186
>[!NOTE]
190
187
> The following PRT diagnostics fields were added in the Windows 10 May 2021 update (version 21H1).
191
-
192
-
>[!NOTE]
193
-
> * The diagnostics information that's displayed in the **AzureAdPrt** field is for Microsoft Entra PRT acquisition or refresh, and the diagnostics information that's displayed in the **EnterprisePrt** field is for Enterprise PRT acquisition or refresh.
194
-
> * The diagnostics information is displayed only if the acquisition or refresh failure happened after the last successful PRT update time (AzureAdPrtUpdateTime/EnterprisePrtUpdateTime).
188
+
>
189
+
> - The diagnostics information that's displayed in the **AzureAdPrt** field is for Microsoft Entra PRT acquisition or refresh, and the diagnostics information that's displayed in the **EnterprisePrt** field is for Enterprise PRT acquisition or refresh.
190
+
> - The diagnostics information is displayed only if the acquisition or refresh failure happened after the last successful PRT update time (AzureAdPrtUpdateTime/EnterprisePrtUpdateTime).
195
191
>On a shared device, this diagnostics information could be from a different user's login attempt.
196
192
197
193
-**AcquirePrtDiagnostics**: Set the state to *PRESENT* if the acquired PRT diagnostics information is present in the logs.
198
-
This field is skipped if no diagnostics information is available.
194
+
-This field is skipped if no diagnostics information is available.
199
195
-**Previous Prt Attempt**: The local time, in UTC, at which the failed PRT attempt occurred.
200
196
-**Attempt Status**: The client error code that's returned (HRESULT).
201
197
-**User Identity**: The UPN of the user for whom the PRT attempt happened.
202
-
-**Credential Type**: The credential that's used to acquire or refresh the PRT. Common credential types are Password and Next Generation Credential (NGC) (for Windows Hello).
203
-
-**Correlation ID**: The correlation ID that's sent by the server for the failed PRT attempt.
198
+
-**Credential Type**: The credential used to acquire or refresh the PRT. Common credential types are Password and Next Generation Credential (NGC) (for Windows Hello).
199
+
-**Correlation ID**: The correlation ID sent by the server for the failed PRT attempt.
204
200
-**Endpoint URI**: The last endpoint accessed before the failure.
205
-
-**HTTP Method**: The HTTP method that's used to access the endpoint.
206
-
-**HTTP Error**: WinHttp transport error code. Get additional[network error codes](/windows/win32/winhttp/error-messages).
207
-
-**HTTP Status**: The HTTP status that's returned by the endpoint.
201
+
-**HTTP Method**: The HTTP method used to access the endpoint.
202
+
-**HTTP Error**: WinHttp transport error code. Get other[network error codes](/windows/win32/winhttp/error-messages).
203
+
-**HTTP Status**: The HTTP status returned by the endpoint.
208
204
-**Server Error Code**: The error code from the server.
209
205
-**Server Error Description**: The error message from the server.
210
206
-**RefreshPrtDiagnostics**: Set the state to *PRESENT* if the acquired PRT diagnostics information is present in the logs.
211
-
This field is skipped if no diagnostics information is available.
212
-
The diagnostics information fields are same as **AcquirePrtDiagnostics**
207
+
-This field is skipped if no diagnostics information is available.
208
+
-The diagnostics information fields are same as **AcquirePrtDiagnostics**
213
209
214
210
>[!NOTE]
215
211
> The following Cloud Kerberos diagnostics fields were added in the original release of Windows 11 (version 21H2).
@@ -256,37 +252,37 @@ The diagnostics information fields are same as **AcquirePrtDiagnostics**
256
252
257
253
This diagnostics section is displayed only if the device is domain-joined and unable to Microsoft Entra hybrid join.
258
254
259
-
This section performs various tests to help diagnose join failures. The information includes the error phase, the error code, the server request ID, the server response http status, and the server response error message.
255
+
This section performs various tests to help diagnose join failures. The information includes the: error phase, error code, server request ID, server response HTTP status, and server response error message.
260
256
261
257
-**User Context**: The context in which the diagnostics are run. Possible values: SYSTEM, UN-ELEVATED User, ELEVATED User.
262
258
263
259
> [!NOTE]
264
260
> Because the actual join is performed in SYSTEM context, running the diagnostics in SYSTEM context is closest to the actual join scenario. To run diagnostics in SYSTEM context, the `dsregcmd /status` command must be run from an elevated command prompt.
265
261
266
262
-**Client Time**: The system time, in UTC.
267
-
-**AD Connectivity Test**: This test performs a connectivity test to the domain controller. An error in this test will likely result in join errors in the pre-check phase.
263
+
-**AD Connectivity Test**: This test performs a connectivity test to the domain controller. An error in this test likely results in join errors in the pre-check phase.
268
264
-**AD Configuration Test**: This test reads and verifies whether the Service Connection Point (SCP) object is configured properly in the on-premises Active Directory forest. Errors in this test would likely result in join errors in the discover phase with the error code 0x801c001d.
269
265
-**DRS Discovery Test**: This test gets the DRS endpoints from discovery metadata endpoint and performs a user realm request. Errors in this test would likely result in join errors in the discover phase.
270
266
-**DRS Connectivity Test**: This test performs a basic connectivity test to the DRS endpoint.
271
-
-**Token Acquisition Test**: This test tries to get a Microsoft Entra authentication token if the user tenant is federated. Errors in this test would likely result in join errors in the authentication phase. If authentication fails, sync-join will be attempted as fallback, unless fallback is explicitly disabled with the following registry key settings:
267
+
-**Token Acquisition Test**: This test tries to get a Microsoft Entra authentication token if the user tenant is federated. Errors in this test would likely result in join errors in the authentication phase. If authentication fails, sync-join is attempted as fallback, unless fallback is explicitly disabled with the following registry key settings:
-**Fallback to Sync-Join**: Set the state to *Enabled* if the preceding registry key to prevent fallback to sync-join with authentication failures is *not* present. This option is available from Windows 10 1803 and later.
283
279
-**Previous Registration**: The time when the previous join attempt occurred. Only failed join attempts are logged.
284
280
-**Error Phase**: The stage of the join in which it was aborted. Possible values are *pre-check*, *discover*, *auth*, and *join*.
285
-
-**Client ErrorCode**: The client error code that's returned (HRESULT).
286
-
-**Server ErrorCode**: The server error code that's displayed if a request was sent to the server and the server responded with an error code.
287
-
-**Server Message**: The server message that's returned along with the error code.
288
-
-**Https Status**: The HTTP status that's returned by the server.
289
-
-**Request ID**: The client requestId that's sent to the server. The request ID is useful to correlate with server-side logs.
281
+
-**Client ErrorCode**: The client error code returned (HRESULT).
282
+
-**Server ErrorCode**: The server error code displayed if a request was sent to the server and the server responded with an error code.
283
+
-**Server Message**: The server message returned along with the error code.
284
+
-**Https Status**: The HTTP status returned by the server.
285
+
-**Request ID**: The client requestId sent to the server. The request ID is useful to correlate with server-side logs.
290
286
291
287
### Sample pre-join diagnostics output
292
288
@@ -345,10 +341,10 @@ The following example shows that diagnostics tests are passing but the registrat
345
341
346
342
### Post-join diagnostics
347
343
348
-
This diagnostics section displays the output of sanity checks performed on a device that's joined to the cloud.
344
+
This diagnostics section displays the output of sanity checks performed on a device joined to the cloud.
349
345
350
346
-**AadRecoveryEnabled**: If the value is *YES*, the keys stored in the device aren't usable, and the device is marked for recovery. The next sign-in will trigger the recovery flow and re-register the device.
351
-
-**KeySignTest**: If the value is *PASSED*, the device keys are in good health. If KeySignTest fails, the device is usually marked for recovery. The next sign-in will trigger the recovery flow and re-register the device. For Microsoft Entra hybrid joined devices, the recovery is silent. While the devices are Microsoft Entra joined or Microsoft Entra registered, they'll prompt for user authentication to recover and re-register the device, if necessary.
347
+
-**KeySignTest**: If the value is *PASSED*, the device keys are in good health. If KeySignTest fails, the device is usually marked for recovery. The next sign-in will trigger the recovery flow and re-register the device. For Microsoft Entra hybrid joined devices, the recovery is silent. While the devices are Microsoft Entra joined or Microsoft Entra registered, they prompt for user authentication to recover and re-register the device, if necessary.
352
348
> [!NOTE]
353
349
> The KeySignTest requires elevated privileges.
354
350
@@ -385,8 +381,7 @@ This diagnostics section performs the prerequisites check for setting up Windows
385
381
386
382
>[!NOTE]
387
383
> The following Cloud Kerberos diagnostics fields were added in the Windows 10 May 2021 update (version 21H1).
388
-
389
-
>[!NOTE]
384
+
>
390
385
> Prior to Windows 11 version 23H2, the setting **OnPremTGT** was named **CloudTGT**.
391
386
392
387
-**OnPremTGT**: This setting is specific to Cloud Kerberos trust deployment and present only if the CertEnrollment state is *none*. Set the state to *YES* if the device has a Cloud Kerberos ticket to access on-premises resources. Prior to Windows 11 version 23H2, this setting was named **CloudTGT**.
0 commit comments