使用 dsregcmd 命令針對裝置進行疑難排解
本文涵蓋如何使用 dsregcmd
命令的輸出,以了解 Microsoft Entra ID 中的裝置狀態。 此 dsregcmd /status
公用程式必須以網域使用者帳戶的形式執行。
裝置狀態
此區段會列出裝置加入狀態參數。 下表列出裝置在不同加入狀態中所需的準則:
AzureAdJoined | EnterpriseJoined | DomainJoined | 裝置狀態 |
---|---|---|---|
是 | 否 | 否 | 已加入 Microsoft Entra |
否 | 否 | 是 | 已加入網域 |
是 | 否 | 是 | 已加入 Microsoft Entra 混合式 |
否 | 是 | 是 | 內部部署 DRS 加入 |
- AzureAdJoined:如果裝置已加入 Microsoft Entra,請將狀態設為 [是]。 否則,請將狀態設為 [否]。
- EnterpriseJoined:如果裝置已加入內部部署資料複寫服務 (DRS),請將狀態設為 [是]。 裝置不可同時為 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 租用戶中裝置的唯一識別碼。
- 指紋:裝置憑證的指紋。
- 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 版)。
- 虛擬桌面:有三種情況會出現。
- 未設定 - 裝置上沒有 VDI 裝置中繼資料。
- 是 - VDI 裝置中繼資料存在,且 dsregcmd 輸出相關聯的中繼資料包括:
- 提供者:VDI 廠商的名稱。
- 類型:持續性 VDI 或非持續性 VDI。
- 使用者模式:單一使用者或多使用者。
- 延伸模組:選擇性廠商特定中繼資料中的索引鍵/值組數目,後面接著索引鍵/值組。
- 無效 - 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 金鑰,則為金鑰的識別碼。
- CanReset:表示使用者是否可以重設 Windows Hello 金鑰。
- 可能的值:如果發生錯誤,則為 DestructiveOnly、NonDestructiveOnly、DestructiveAndNonDestructive 或 Unknown。
- WorkplaceJoined:如果 Microsoft Entra 註冊的帳戶已新增至目前 NTUSER 內容中的裝置,請將狀態設為 [是]。
- WamDefaultSet:如果已針對登入的使用者建立 Web 帳戶管理員 (WAM) 預設值 WebAccount,請將狀態設為 [是]。 如果
dsregcmd /status
從提升權限的命令提示字元執行,此欄位可能會顯示錯誤。 - WamDefaultAuthority:針對 Microsoft Entra ID 將狀態設為 [組織]。
- WamDefaultId:請一律針對 Microsoft Entra ID 使用 https://login.microsoft.com。
- WamDefaultGUID:WAM 提供者針對預設 WAM WebAccount 的 (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:將狀態設定為上次更新 Enterprise PRT 時的時間 (UTC)。
- EnterprisePrtExpiryTime:將狀態設為如果 PRT 未更新則會到期的時間 (UTC)。
- EnterprisePrtAuthority:AD FS 授權單位 URL
注意
下列 PRT 診斷欄位已在 Windows 10 2021 年 5 月更新中新增 (21H1 版)。
- 顯示在 [AzureAdPrt] 欄位中的診斷資訊適用於 Microsoft Entra PRT 擷取或重新整理,而 [EnterprisePrt] 欄位中顯示的診斷資訊適用於 Enterprise PRT 擷取或重新整理。
- 只有在上次成功的 PRT 更新時間 (AzureAdPrtUpdateTime/EnterprisePrtUpdateTime) 之後發生擷取或重新整理失敗時,才會顯示診斷資訊。
在共用裝置上,此診斷資訊可能來自不同使用者的登入嘗試。
- AcquirePrtDiagnostics:如果記錄中有取得的 PRT 診斷資訊,請將狀態設為 [已存在]。
- 如果沒有可用的診斷資訊,則會略過此欄位。
- 先前的 PRT 嘗試:發生失敗 PRT 嘗試的當地時間 (UTC)。
- 嘗試狀態:傳回的用戶端錯誤碼 (HRESULT)。
- 使用者身分識別:發生 PRT 嘗試的使用者 UPN。
- 認證類型:用來取得或重新整理 PRT 的認證。 常見的認證類型為密碼和新一代認證 (NGC) (適用於 Windows Hello)。
- 相互關聯識別碼:伺服器針對失敗 PRT 嘗試所傳送的相互關聯識別碼。
- 端點 URI:失敗前所存取的最後一個端點。
- HTTP 方法:用來存取端點的 HTTP 方法。
- HTTP 錯誤:WinHttp 傳輸錯誤碼。 取得更多網路錯誤代碼。
- HTTP 狀態:端點傳回的 HTTP 狀態。
- 伺服器錯誤碼:來自伺服器的錯誤碼。
- 伺服器錯誤描述:來自伺服器的錯誤訊息。
- RefreshPrtDiagnostics:如果記錄中有取得的 PRT 診斷資訊,請將狀態設為 [已存在]。
- 如果沒有可用的診斷資訊,則會略過此欄位。
- 診斷資訊欄位與 AcquirePrtDiagnostics 相同。
注意
下列 Cloud Kerberos 診斷欄位已新增至 Windows 11 原始版本 (版本 21H2)。
- OnPremTgt:如果已登入使用者的裝置上有雲端 Kerberos 票證存取內部部署資源的雲端 Kerberos 票證,請將狀態設定為 [是]。
- CloudTgt:如果已登入使用者的裝置上有雲端 Kerberos 票證存取雲端資源的雲端 Kerberos 票證,請將狀態設定為 [是]。
- KerbTopLevelNames:Cloud 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 時,才會顯示此診斷區段。
本節會執行各種測試,以協助診斷加入失敗。 此資訊包括錯誤階段、錯誤碼、伺服器要求識別碼、伺服器回應 HTTP 狀態,以及伺服器回應錯誤訊息。
使用者內容:執行診斷所在的內容。 可能的值:SYSTEM、UN-ELEVATED User、ELEVATED User。
注意
因為實際加入是在系統內容中執行,所以在 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 和更新版本中提供。
先前的註冊:先前發生加入嘗試的時間。 只會記錄失敗的加入嘗試。
錯誤階段:已中止加入的階段。 可能的值為預先檢查、探索、驗證和加入。
用戶端錯誤碼:傳回的用戶端錯誤碼 (HRESULT)。
伺服器錯誤碼:當要求傳送到伺服器,且伺服器回應錯誤碼時,所顯示的伺服器錯誤碼。
伺服器訊息:傳回的伺服器訊息以及錯誤碼。
HTTP 狀態:伺服器傳回的 HTTP 狀態。
要求識別碼:傳送至伺服器的用戶端要求識別碼。 要求識別碼可用於與伺服器端記錄相互關聯。
範例預先加入診斷輸出
下列範例顯示發生探索錯誤的診斷測試失敗。
+----------------------------------------------------------------------+
| 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:如果值為 [是],則無法使用儲存在裝置中的金鑰,且裝置會標示為要復原。 下一次登入將會觸發復原流程,並重新登錄裝置。
- KeySignTest:如果值為 [通過],則裝置金鑰的健康情況良好。 如果 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,請將狀態設為 [是]。
- IsUserAzureAD:如果登入的使用者存在於 Microsoft Entra ID 中,請將狀態設為 [是]。
- PolicyEnabled:如果裝置上已啟用 WHFB 原則,則將狀態設為 [是]。
- PostLogonEnabled:如果平台會以原生方式觸發 WHFB 註冊,請將狀態設為 [是]。 如果狀態設定為 [否],則表示 Windows Hello 企業版是由自訂機制所觸發。
- DeviceEligible:如果裝置符合使用 WHFB 註冊的硬體需求,請將狀態設為 [是]。
- SessionIsNotRemote:如果目前的使用者是直接登入裝置而非從遠端登入,請將狀態設為 [是]。
- CertEnrollment:這是 WHFB 憑證信任部署的專用設定,表示 WHFB 的憑證登錄授權單位。 如果 WHFB 原則的來源是群組原則,狀態會設定為 [登錄授權單位],或如果來源為 MDM,則會設為 [行動裝置管理]。 如果未套用任何來源,請將狀態設為 [無]。
- AdfsRefreshToken:這是 WHFB 憑證信任部署的專用設定,且只有在 CertEnrollment 狀態為登錄授權單位時才存在。 此設定會指出裝置是否有使用者的企業 PRT。
- AdfsRaIsReady:這是 WHFB 憑證信任部署的專用設定,且只有在 CertEnrollment 狀態為登錄授權單位時才存在。 如果 AD FS 在探索中繼資料中指出其支援 WHFB,且可以使用登入憑證範本,請將狀態設為 [是]。
- LogonCertTemplateReady:是 WHFB 憑證信任部署的專用設定,且只有在 CertEnrollment 狀態為登錄授權單位時才存在。 如果登入憑證範本的狀態是有效的,請將狀態設為 [是],並協助疑難排解 AD FS 登錄授權單位 (RA)。
- PreReqResult:提供所有 WHFB 必要條件評估的結果。 如果 WHFB 註冊會在使用者下次登入時以登入後工作的形式啟動,請設定要佈建的狀態。
注意
下列 Cloud Kerberos 診斷欄位已在 Windows 10 2021 年 5 月更新中新增 (21H1 版)。
在 Windows 11 23H2 版之前,OnPremTGT 設定命名為 CloudTGT。
- OnPremTGT:這是 Cloud Kerberos 信任部署的專用設定,且只有在 CertEnrollment 狀態為 [無] 時才存在。 如果裝置有 Cloud 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 錯誤查詢工具。