使用 dsregcmd 命令對裝置進行疑難解答

本文說明如何使用 命令的 dsregcmd 輸出來瞭解 Microsoft Entra ID 中的裝置狀態。 公用 dsregcmd /status 程式必須以網域用戶帳戶的形式執行。

裝置狀態

本節列出裝置聯結狀態參數。 下表列出裝置處於各種聯結狀態所需的準則:

AzureAdJoined EnterpriseJoined DomainJoined 裝置狀態
已加入 Microsoft Entra
已加入網域
已加入 Microsoft Entra 混合式
已加入內部部署 DRS

注意

[加入工作場所] (Microsoft Entra registered) 狀態會顯示在 [ 用戶狀態] 區段中。

  • AzureAdJoined:如果裝置已加入 Microsoft Entra 標識符,請將狀態 設定為 [是 ]。 否則,請將狀態設定為 NO
  • 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:如果裝置私鑰儲存在硬體信任平台模組中,狀態會設定 為 YES
  • DeviceAuthStatus:執行檢查,以判斷 Microsoft Entra 標識碼中的裝置健康情況。 健康狀態為:
    • 如果裝置存在並在 Microsoft Entra ID 中啟用,則成功
    • 失敗。 裝置已停用或刪除 如果裝置已停用或刪除,則為 。 如需此問題的詳細資訊,請參閱 Microsoft Entra 裝置管理常見問題
    • 失敗。 錯誤 如果測試無法執行,則為 。 此測試需要系統內容下 Microsoft Entra ID 的網路連線能力。

    注意

    Windows 10 2021 年 5 月更新 (版本 21H1) 中新增了 DeviceAuthStatus 字段。

  • 虛擬桌面:有三種情況會出現。
    • NOT SET - 裝置上沒有 VDI 裝置元數據。
    • 是 - VDI 裝置元數據存在,且 dsregcmd 輸出相關聯的元數據包括:
      • 提供者:VDI 廠商的名稱。
      • 類型:持續性 VDI 或非持續性 VDI。
      • 使用者模式:單一使用者或多使用者。
      • 延伸模組:選擇性廠商特定元數據中的密鑰值組數目,後面接著索引鍵值組。
    • INVALID - VDI 裝置元數據存在,但未正確設定。 在此情況下,dsregcmd 會輸出不正確的元數據。

範例裝置詳細數據輸出

+----------------------------------------------------------------------+
| Device Details                                                       |
+----------------------------------------------------------------------+

                  DeviceId : e92325d0-xxxx-xxxx-xxxx-94ae875dxxxx
                Thumbprint : D293213EF327483560EED8410CAE36BB67208179
 DeviceCertificateValidity : [ 2019-01-11 21:02:50.000 UTC -- 2029-01-11 21:32:50.000 UTC ]
            KeyContainerId : 13e68a58-xxxx-xxxx-xxxx-a20a2411xxxx
               KeyProvider : Microsoft Software Key Storage Provider
              TpmProtected : NO
          DeviceAuthStatus : SUCCESS
+----------------------------------------------------------------------+

租用戶詳細資料

只有在裝置已加入 Microsoft Entra 或 Microsoft Entra 混合式聯結時,才會顯示租使用者詳細數據,而不是已註冊 Microsoft Entra。 本節列出裝置加入 Microsoft Entra 識別符時所顯示的一般租用戶詳細數據。

注意

如果本節中的行動裝置管理 (MDM) URL 欄位是空的,表示 MDM 未設定,或目前的使用者不在 MDM 註冊範圍內。 檢查 Microsoft Entra 識別碼中的行動設定,以檢閱您的 MDM 組態。

即使您看到 MDM URL,這並不表示裝置是由 MDM 管理。 如果租使用者具有自動註冊的 MDM 設定,即使裝置本身未受管理,也會顯示此資訊。

範例租使用者詳細數據輸出

+----------------------------------------------------------------------+
| Tenant Details                                                       |
+----------------------------------------------------------------------+

                TenantName : HybridADFS
                  TenantId : 96fa76d0-xxxx-xxxx-xxxx-eb60cc22xxxx
                       Idp : login.windows.net
               AuthCodeUrl : https://login.microsoftonline.com/96fa76d0-xxxx-xxxx-xxxx-eb60cc22xxxx/oauth2/authorize
            AccessTokenUrl : https://login.microsoftonline.com/96fa76d0-xxxx-xxxx-xxxx-eb60cc22xxxx/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 : eyJVxxxxIjpbImh0dHBzOi8va2FpbGFuaS5vbmUubWljcm9zb2Z0LmNvbS8iLCJodHRwczovL2thaWxhbmkxLm9uZS5taWNyb3NvZnQuY29tLyxxxx==
            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/96fa76d0-xxxx-xxxx-xxxx-eb60cc22xxxx/
             WebAuthNSrvId : urn:ms-drs:enterpriseregistration.windows.net
    DeviceManagementSrvVer : 1.0
    DeviceManagementSrvUrl : https://enterpriseregistration.windows.net/manage/96fa76d0-xxxx-xxxx-xxxx-eb60cc22xxxx/
     DeviceManagementSrvId : urn:ms-drs:enterpriseregistration.windows.net
+----------------------------------------------------------------------+

使用者狀態

本節列出目前登入裝置之用戶的各種屬性狀態。

注意

命令必須在用戶內容中執行,才能擷取有效的狀態。

  • NgcSet:如果已為目前登入的使用者設定 Windows Hello 金鑰,請將狀態 設定為 [是 ]。
  • NgcKeyId:如果已為目前登入的使用者設定 Windows Hello 金鑰的識別碼。
  • CanReset:表示使用者是否可以重設 Windows Hello 密鑰。
  • 可能的值:D estructiveOnly、NonDestructiveOnly、DestructiveAndNonDestructive 或 Unknown if error。
  • WorkplaceJoined:如果 Microsoft Entra 已註冊的帳戶已新增至目前 NTUSER 內容中的裝置,請將狀態 設定為 [是 ]。
  • WamDefaultSet:如果已登入的使用者建立 Web 帳戶管理員 (WAM) 預設的 WebAccount,請將狀態 設定為 YES 。 如果 dsregcmd /status 從提升許可權的命令提示字元執行,此欄位可能會顯示錯誤。
  • WamDefaultAuthority:將狀態設定為 Microsoft Entra ID 的組織
  • WamDefaultId:一律 https://login.microsoft.com 用於 Microsoft Entra ID。
  • WamDefaultGUID:預設 WAM WebAccount 的 WAM 提供者 (Microsoft Entra ID / Microsoft 帳戶) GUID。

範例用戶狀態輸出

+----------------------------------------------------------------------+
| User State                                                           |
+----------------------------------------------------------------------+

                    NgcSet : YES
                  NgcKeyId : {FA0DB076-A5D7-4844-82D8-50A2FB42EC7B}
                  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 識別碼和 內部部署的 Active Directory 的 PRT。 已加入內部部署的裝置只有企業PRT。
  • EnterprisePrtUpdateTime:將狀態設定為上次更新 Enterprise PRT 的時間。
  • EnterprisePrtExpiryTime:如果 PRT 未更新,請將狀態設定為 UTC 的時間。
  • EnterprisePrtAuthority:AD FS 授權單位 URL

注意

Windows 10 2021 年 5 月更新中新增下列 PRT 診斷欄位(版本 21H1)。

  • AzureAdPrt 字段中顯示的診斷資訊適用於 Microsoft Entra PRT 擷取或重新整理,而 EnterprisePrt 欄位中顯示的診斷資訊適用於企業 PRT 取得或重新整理。
  • 只有在上次成功 PRT 更新時間之後發生擷取或重新整理失敗時,才會顯示診斷資訊(AzureAdPrtUpdateTime/EnterprisePrtUpdateTime)。
    在共用裝置上,此診斷資訊可能來自不同使用者的登入嘗試。
  • AcquirePrtDiagnostics:如果取得的 PRT 診斷資訊存在於記錄中,請將狀態 設定為 PRESENT
    • 如果沒有可用的診斷資訊,則會略過此欄位。
  • 先前的 Prt 嘗試:當地時間,以 UTC 為單位,發生失敗的 PRT 嘗試。
  • 嘗試狀態:傳回的用戶端錯誤碼(HRESULT)。
  • 使用者身分識別:PRT 嘗試發生之使用者的UPN。
  • 認證類型:用來取得或重新整理PRT的認證。 常見的認證類型為密碼和新一代認證 (NGC) (適用於 Windows Hello)。
  • 相互關聯標識碼:伺服器針對失敗的PRT嘗試傳送的相互關聯標識碼。
  • 端點 URI:失敗前存取的最後一個端點。
  • HTTP 方法:用來存取端點的 HTTP 方法。
  • HTTP 錯誤:WinHttp 傳輸錯誤碼。 取得其他 網路錯誤碼
  • HTTP 狀態:端點傳回的 HTTP 狀態。
  • 伺服器錯誤碼:伺服器的錯誤碼。
  • 伺服器錯誤描述:來自伺服器的錯誤訊息。
  • RefreshPrtDiagnostics:如果取得的 PRT 診斷資訊存在於記錄中,請將狀態 設定為 PRESENT
    • 如果沒有可用的診斷資訊,則會略過此欄位。
    • 診斷資訊欄位與 AcquirePrtDiagnostics 相同。

注意

下列 Cloud Kerberos 診斷欄位已新增至 Windows 11 原始版本(版本 21H2)。

  • OnPremTgt:如果已登入使用者的裝置上存在可存取內部部署資源的 Cloud Kerberos 票證,請將狀態 設定為 YES
  • CloudTgt:如果已登入使用者的裝置上存在可存取雲端資源的 Cloud Kerberos 票證,請將狀態 設定為 [是 ]。
  • KerbTopLevelNames:Cloud Kerberos 的最上層 Kerberos 領域名稱清單。

範例 SSO 狀態輸出

+----------------------------------------------------------------------+
| SSO State                                                            |
+----------------------------------------------------------------------+

                AzureAdPrt : NO
       AzureAdPrtAuthority : https://login.microsoftonline.com/96fa76d0-xxxx-xxxx-xxxx-eb60cc22xxxx
     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 : 63648321-fc5c-46eb-996e-ed1f3ba7740f
              Endpoint URI : https://login.microsoftonline.com/96fa76d0-xxxx-xxxx-xxxx-eb60cc22xxxx/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 內容中執行診斷最接近實際聯結案例。 若要在 SYSTEM 內容中執行診斷, dsregcmd /status 必須從提升許可權的命令提示字元執行命令。

  • 用戶端時間:系統時間,以UTC為單位。

  • AD 連線ivity測試:此測試會對域控制器執行連線測試。 此測試中的錯誤可能會導致預先檢查階段的聯結錯誤。

  • AD 組態測試:此測試會讀取並驗證服務 連線 ion Point (SCP) 物件是否已在 內部部署的 Active Directory 樹系中正確設定。 此測試中的錯誤可能會導致在探索階段與錯誤碼0x801c001d聯結錯誤。

  • DRS 探索測試:此測試會從探索元數據端點取得 DRS 端點,並執行用戶領域要求。 此測試中的錯誤可能會導致探索階段的聯結錯誤。

  • DRS 連線 ivity 測試:此測試會對 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
    
  • 後援至 Sync-Join:如果上述登錄機碼防止後援與驗證失敗同步聯結,請將狀態設定為 Enabled。 此選項可從 Windows 10 1803 和更新版本取得。

  • 先前的註冊:發生前一次聯結嘗試的時間。 只會記錄失敗的聯結嘗試。

  • 錯誤階段:中止聯結的階段。 可能的值為預先檢查、探索驗證和聯結

  • 用戶端錯誤碼:傳回的用戶端錯誤碼(HRESULT)。

  • 伺服器錯誤碼:如果要求傳送至伺服器,且伺服器回應錯誤碼,就會顯示伺服器錯誤碼。

  • 伺服器訊息:傳回的伺服器訊息以及錯誤碼。

  • Https 狀態:伺服器傳回的 HTTP 狀態。

  • 要求標識碼:傳送至伺服器的用戶端 requestId。 要求標識元有助於與伺服器端記錄相互關聯。

預先聯結診斷輸出範例

下列範例顯示診斷測試失敗,並出現探索錯誤。

+----------------------------------------------------------------------+
| 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 連線 同步處理作業完成之後,裝置就能夠加入。

+----------------------------------------------------------------------+
| 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 (e92325d0-7ac4-4714-88a1-94ae875d5245) 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,您可能不會看到 NGC 必要條件檢查詳細 dsregcmd /status 數據。

  • IsDeviceJoined:如果裝置已加入 Microsoft Entra ID,請將狀態 設定為 YES
  • IsUserAzureAD:如果登入的用戶出現在 Microsoft Entra ID 中,請將狀態 設定為 [是 ]。
  • PolicyEnabled:如果裝置上已啟用 WHFB 原則,請將狀態 設定為 [是 ]。
  • PostLogonEnabled:如果平臺原生觸發 WHFB 註冊,請將狀態 設定為 YES 。 如果狀態設定為 NO,表示 Windows Hello 企業版 註冊是由自定義機制觸發。
  • DeviceEligible:如果裝置符合向 WHFB 註冊的硬體需求,請將狀態 設定為 [是 ]。
  • SessionIsNotRemote:如果目前的使用者直接登入裝置,而不是從遠端登入,請將狀態 設定為 [是 ]。
  • CertEnrollment:此設定專屬於 WHFB 憑證信任部署,指出 WHFB 的證書頒發機構單位。 如果WHFB原則的來源為組策略,請將狀態設定為 註冊授權單位 ,或者如果來源為 MDM,請將它設定為 行動裝置管理 。 如果兩個來源都未套用,請將狀態設定為 none
  • AdfsRefreshToken:此設定專屬於 WHFB 憑證信任部署,且只有在 CertEnrollment 狀態為 註冊授權單位時才存在。 此設定會指出裝置是否有適用於使用者的企業PRT。
  • AdfsRaIsReady:此設定專屬於 WHFB 憑證信任部署,且只有在 CertEnrollment 狀態為 註冊授權單位時才存在。 如果AD FS 在探索元數據中指出它支援 WHFB 可使用登入證書範本,請將狀態設定為 YES
  • LogonCertTemplateReady:此設定專屬於 WHFB 憑證信任部署,且只有在 CertEnrollment 狀態為 註冊授權單位時才存在。 如果登入證書範本的狀態有效,且有助於對 AD FS 註冊授權單位進行疑難解答,請將狀態 設定為 [是 ]。
  • PreReqResult:提供所有 WHFB 必要條件評估的結果。 將狀態設定為 [如果 WHFB 註冊會在使用者下次登入時啟動為登入后工作時,將會布建]。

注意

Windows 10 2021 年 5 月更新中新增下列 Cloud Kerberos 診斷字段(版本 21H1)。

在 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 錯誤查閱工具