簡介
儲存在 Active Directory 中的物件可能會因為複製衝突而變得過舊、損毀或孤立。
本文著重於可以由 userAccountControl 屬性中的「INTERDOMAIN_TRUST_ACCOUNT」位識別的信任物件。 如需此位的詳細資訊,請參閱 userAccountControl Bits。
徵兆
信任關聯在 Active Directory 中會以下列方式表示:
-
以結尾 $ 字元貼上的用戶帳戶。
-
儲存 (在網域目錄磁碟分區系統容器中的 TDO) 受信任的網域物件。
建立重複的信任會建立兩個重複安全性帳戶管理員 (SAM) 帳戶名稱的物件。 在第二個物件上,SAM 將物件重新命名為 $DUPLICATE-<Account RID>,以解決衝突。 複製的物件無法刪除並變成「孤立」。
注意 Active Directory 物件代表儲存在 Active Directory 中且其父容器遺失的動態子物件時,會被標示為「孤立」。 這個字詞有時也會用來參照 Active Directory 中過期或損毀的物件,而此對象無法使用一般工作流程刪除。
有兩個主要過時的信任案例:
-
案例 1:信任處於衝突狀態的使用者
在有兩個森林且先前在這些森林中的網域之間建立信任的情況下,可能需要刪除信任的使用者。 第一次建立信任時,發生無法複製的問題。 系統管理員可能已將主要域控制器轉 (PDC) 彈性單一主控運 (FSMO) 角色,並在其他域控制器 (DC) 上再次建立信任。
日後重新建立 Active Directory 複寫時,兩個信任的使用者將會複製到相同的 DC,造成命名衝突。 信任的用戶物件會被指派衝突 (CNF) mangled DN;例如:
CN=contoso$\0ACNF:a6e22a25-f60c-4f07-b629-64720c6d8b08,CN=Users,DC=northwindsales,DC=com
samAccountName 也會顯示為亂碼:
$DUPLICATE-3159f
沒有名稱衝突的物件會正常顯示並正常運作。 您可以移除並重新建立信任。
-
案例 2:信任使用者孤立
類似案例 1,如果信任與信任的合作夥伴已不存在,則可能需要編輯或刪除信任的使用者,但信任使用者仍在 Active Directory 資料庫中。 一般而言,這些帳戶的密碼會舊,導致該帳戶被安全性掃描工具標幟。
當系統管理員嘗試編輯信任的屬性時,出現錯誤訊息
您無法變更金鑰屬性或刪除孤立的信任用戶物件。 嘗試變更可保護物件的屬性后,會出現下列錯誤:
[錯誤] 對話框 |
錯誤訊息 |
操作失敗。 錯誤碼:0x209a 0000209A:SvcErr:DSID-031A1021、問題 5003 (WILL_NOT_PERFORM) 、數據 0 |
當系統管理員嘗試移除物件時,該物件會發生錯誤0x5失敗,這相當於「拒絕存取」。 或者,衝突的信任物件可能不會出現在 Active Directory 的「網域與信任」嵌入式管理中。
[錯誤] 對話框 |
錯誤訊息 |
操作失敗。 錯誤碼:0x5
|
原因
發生此問題是因為信任物件由系統擁有,而且只能由使用 Active Directory 網域和 Trusts MMC 的系統管理員修改或刪除。 這項功能的設計是預設的。
解決方案
在執行 Windows Server 2019 或更新版本 Windows Server 的域控制器上安裝 2024 年 5 月 14 日的 Windows Update 之後,現在可以使用 架構UpgradeInProgress作業刪除孤立的信任帳戶。 若要這樣做,請依照下列步驟操作:
-
識別您網域中孤立的信任用戶帳戶。 例如,此輸出來自 LDP.exe;顯示可識別信任使用者的 userAccount 控制0x800標幟:
展開基礎 'CN=northwindsales$,CN=Users,DC=contoso,DC=com'...
取得1個專案:
Dn:CN=northwindsales$,CN=Users,DC=contoso,DC=com
…primaryGroupID:513 = ( GROUP_RID_USERS ) ;
pwdLastSet:2013 年 4 月 27 日下午 10:03:05 協調通用時間;
sAMAccountName:NORTHWINDSALES$;
sAMAccountType:805306370 = ( TRUST_ACCOUNT ) ;
userAccountControl:0x820 = ( PASSWD_NOTREQD |
INTERDOMAIN_TRUST_ACCOUNT ) ;… -
如有需要,請將過時信任帳戶網域的網域系統管理員帳戶新增至林根網域中的 「架構系統管理員」群組。 (刪除所用的帳戶必須在架構 NC 複本的根目錄上擁有「Control-Schema-Master」控制權存取權,且必須能夠登入持有孤立帳戶的 DC。)
-
請確定 2024 年 5 月 14 日或更新版本的 Windows Update 已安裝在過時信任帳戶網域中可寫入的 DC 上。
-
使用架構系統管理員帳戶登入該 DC。 如果您在步驟 2 的 「架構管理員」群組中新增帳戶,請使用該帳戶。
-
準備 LDIFDE 匯入檔案以修改 SchemaUpgradeInProgress 並刪除物件。
例如,下列文字可以貼到 LDIFDE 匯入檔案中,以刪除步驟 1 中識別的物件:dn:
changetype:修改
新增:SchemaUpgradeInProgress
SchemaUpgradeInProgress: 1
-dn:CN=northwindsales$,CN=Users,DC=contoso,DC=com
changetype:deleteLDIFDE 語法的提示:
-
只有連字元的線條 (“-”) 很重要,因為它會終止「修改」變更類型底下的一系列變更。
-
有連字元的線條後面的空白行也很重要,因為它會顯示LDIFDE,表示物件上的所有修改都已完成,而且應該進行變更。
-
-
使用下列語法匯入 LDIFDE 檔案:
ldifde /i /f nameOfLDIFFileCreatedInStep5.txt /j
注意事項
-
/i 參數表示匯入作業。
-
/f 參數後面接著檔名,表示包含變更的檔案。
-
/j 參數後面接著 logfile 路徑會寫入ldif.log和 ldif.err 檔案,其中包含更新的結果、程式是否正常運作,如果無效,則會在 mod 期間發生錯誤。
-
指定期間 (」。) 使用 /j 參數時,會在目前的工作目錄中撰寫記錄檔。
-
-
如有必要,請從「架構系統管理員」群組移除先前在步驟 2 中新增的網域管理員。