「目錄數據類型無法轉換成原生 DS 資料類型或從原生 DS 資料類型轉換」錯誤

本文有助於修正「目錄數據類型無法轉換成原生 DS 數據類型或從原生 DS 數據類型轉換」錯誤。

適用於: Windows Server 2019、Windows Server 2016、Windows Server 2012 R2
原始 KB 編號: 907462

徵狀

您正在執行或管理使用 Windows 中 Active Directory 目錄服務資訊的應用程式。 當應用程式使用連結屬性的資訊時,您可能會收到錯誤。 例如,您可能會收到下列錯誤:

目錄資料類型無法從原生 DS 資料類型轉換成 / 。

在此情況下,當您使用 LDIFDE 公用程式 (Ldifde.exe) 匯出受影響的物件時,會列出屬性。 不過,屬性沒有值。

當值很長時,這可能是預期的行為。 但輸出中的下一行具有下一個屬性。 針對群組及其managedBy屬性,輸出可能如下所示:
...
showInAddressBook: <通訊簿物件 DN>
managedBy:
legacyExchangeDN: <X500 name>
groupType: -2147483640
...

在具有 RootDSE 命令 verb dumpdatabase 的資料庫傾印中,受影響的群組會顯示如下:

38661 29827 1 1790 true - - 4 3 Group-DN Group-DN - 655368 6d03f309-ded2-41d5-9794-081d40343876 4
objectclass: 655368, 65536
DNT 基底 BDNT DelTime DeactiveTime USNChanged NCDNT 數據
38661 1 38662 - - 55247898 1790 -
38661 36 2 - - - - -

鏈接屬性標識碼一律為 36,而連結夥伴一律為 2。
如需如何傾印資料庫的資訊,請參閱 如何使用 Active Directory 的在線 Dbdump 功能

原因

應用程式可以新增參考 Active Directory 資料庫內部根對象的物件連結。 此物件沒有可供應用程式使用的名稱或任何其他屬性。 因此,用戶端應用程式會顯示未指出問題原因的錯誤訊息。

解決方案

如果您使用執行 Windows Server 2003 Service Pack 1 的域控制器,就不會發生問題。 但是具有這個無效連結的物件仍在資料庫中。 當您搜尋 NTDS 時,可以找到域控制器受影響的群組。DMP 檔案,如下所示:

findstr /i /c:“ 36 2 - - ” ntds.dmp
38661 36 2 - - - - -

Windows Server 2003:

您無法藉由刪除 屬性來解決問題。 如果您刪除 屬性,則會在應用程式目錄服務記錄檔中記錄下列錯誤:

事件類型:錯誤
事件來源:NTDS 複寫
事件類別目錄:複寫
事件標識碼:1694
描述:
Active Directory 無法使用從下列來源域控制器收到的屬性值變更來更新下列物件。 這是因為在本機域控制器上將變更套用至 Active Directory 期間發生錯誤。
物件:
<群組 DN>
物件 GUID:
<GUID>
來源域控制器:
<GUID 型 DC 名稱>
屬性:
managedBy:
屬性值:
[]
屬性值 GUID:
00000000-0000-0000-0000-000000000000
目前:
0
下一次排程的複寫會再次嘗試此作業。 本機域控制器與來源域控制器的同步處理會遭到封鎖,直到更新問題更正為止。
其他資料
錯誤值:
復寫系統發生內部錯誤。

如果記錄此錯誤,物件會處於中斷狀態。 若要達到原始狀態或刪除物件,您只能在對象上執行授權還原。 若要修復呈現此行為的對象,建議您使用 LDIFDE 公用程式來刪除並重建物件。

注意

刪除物件時,會移除所有後端連結。

如果您必須保留無法設定值的特定屬性,例如 objectSid 屬性或 SidHistory 屬性,請刪除然後取消刪除物件。 (刪除物件時,Windows Server 2003 Service Pack 1 會保留 SidHistory 屬性。) 當您刪除並取消刪除物件時,就不需要執行語意檢查程式。

不過,目前沒有任何工具可用來復原屬性和後端連結。 若要還原群組成員資格,您可以使用 Groupadd.exe 工具。 如需詳細資訊,請按下列文章編號以檢視 Microsoft 知識庫中的文章:

840001 如何在 Active Directory 中還原已刪除的用戶帳戶及其群組成員資格

如果您使用 Microsoft 布建系統,您可以使用系統來復原屬性和後端連結。

某些備份和復原應用程式可能會提供更方便的方式來移除這些有問題的屬性。 應用程式必須讓您在還原作業期間選取屬性。 例如,當您還原已刪除的物件時,應用程式必須讓您排除 managedBy 屬性。

狀態

Microsoft 已確認<適用於>一節所列的 Microsoft 產品確實有上述問題。 此問題已在 Microsoft Windows Server 2003 Service Pack 1 中首次修正。