บทนำ
วัตถุที่ถูกเก็บไว้ใน Active Directory อาจล้าสมัย เสียหาย หรือไม่มีสาเหตุจากข้อขัดแย้งในการจําลองแบบ
บทความนี้จะเน้นที่วัตถุที่เชื่อถือ ซึ่งสามารถระบุโดยบิต "INTERDOMAIN_TRUST_ACCOUNT" ในแอตทริบิวต์ userAccountControl สําหรับข้อมูลโดยละเอียดเกี่ยวกับบิตนี้ ให้ดู userAccountControl Bits
อาการ
ความสัมพันธ์แบบเชื่อถือได้จะแสดงใน Active Directory ดังต่อไปนี้
-
บัญชีผู้ใช้ที่ติดอยู่ด้วยอักขระ $ ต่อท้าย
-
วัตถุโดเมนที่เชื่อถือได้ (TDO) ที่เก็บไว้ในคอนเทนเนอร์ระบบของพาร์ติชันไดเรกทอรีโดเมน
การสร้างความเชื่อถือที่ซ้ํากันจะสร้างสองวัตถุที่มีชื่อบัญชีตัวจัดการบัญชีความปลอดภัย (SAM) ที่ซ้ํากัน บนวัตถุที่สอง SAM แก้ไขข้อขัดแย้งโดยการเปลี่ยนชื่อวัตถุเป็น $DUPLICATE-<Account RID> ไม่สามารถลบวัตถุที่ซ้ํากันและกลายเป็น "ไม่มีการเชื่อมโยง"
หมายเหตุ วัตถุ Active Directory ถูกระบุว่าเป็น "ไม่มีที่สิ้นสุด" เมื่อวัตถุนั้นแสดงถึงวัตถุลูกแบบ Live ที่เก็บอยู่ใน Active Directory ซึ่งมีคอนเทนเนอร์หลักหายไป คํานั้นยังใช้ในบางครั้งเพื่ออ้างถึงวัตถุที่ลวกหรือเสียหายใน Active Directory ซึ่งไม่สามารถลบได้โดยใช้เวิร์กโฟลว์ปกติ
มีสถานการณ์สมมติด้านความเชื่อถือหลักๆ 2 สถานการณ์:
-
สถานการณ์สมมติ 1: ผู้ใช้ที่เชื่อถือได้ในสถานะข้อขัดแย้ง
ผู้ใช้ที่เชื่อถือได้อาจจําเป็นต้องถูกลบในสถานการณ์สมมติที่มีสองฟอเรสต์และความน่าเชื่อถือก่อนหน้านี้ถูกสร้างขึ้นระหว่างโดเมนในฟอเรสต์เหล่านั้น เมื่อความเชื่อถือถูกสร้างขึ้นเป็นครั้งแรก มีปัญหาที่ขัดขวางการจําลองแบบ ผู้ดูแลระบบอาจถ่ายโอนหรือยึดบทบาทตัวควบคุมโดเมนหลัก (PDC) Flexible Single Master Operation (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 และ MMC ความน่าเชื่อถือเท่านั้น ฟังก์ชันการทํางานนี้เป็นไปตามการออกแบบ
การแก้ไขปัญหา
หลังจากติดตั้งการอัปเดต Windows ของวันที่ 14 พฤษภาคม 2024 บนตัวควบคุมโดเมนที่ใช้ Windows Server 2019 หรือ Windows Server เวอร์ชันที่ใหม่กว่า ขณะนี้คุณสามารถลบบัญชีความน่าเชื่อถือที่ไม่มีการเชื่อมโยงได้โดยใช้การดําเนินการ schemaUpgradeInProgress เมื่อต้องการดำเนินการดังกล่าวนี้ ให้ปฏิบัติตามขั้นตอนต่อไปนี้:
-
ระบุบัญชีผู้ใช้ที่เชื่อถือได้ที่ไม่มีเครื่องหมายออร์เฟคในโดเมนของคุณ ตัวอย่างเช่น ผลลัพธ์นี้จาก LDP.exe แสดงค่าสถานะ userAccountControl ของ 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: เวลามาตรฐานสากล 27/4/2013 10:03:05 PM เวลา
มาตรฐานสากล sAMAccountName: NORTHWINDSALES$;
sAMAccountType: 805306370 = ( TRUST_ACCOUNT );
userAccountControl: 0x820 = ( PASSWD_NOTREQD | INTERDOMAIN_TRUST_ACCOUNT )
;… -
ถ้าจําเป็น ให้เพิ่มบัญชีผู้ดูแลโดเมนจากโดเมนบัญชีที่เชื่อถือรุ่นใหม่ไปยังกลุ่ม "ผู้ดูแลระบบ Schema" ในโดเมนรากของฟอเรสต์ (บัญชีที่ใช้สําหรับการลบต้องมีการเข้าถึงการควบคุม "Control-Schema-Master" บนรากของแบบจําลอง NC Schema และต้องสามารถเข้าสู่ระบบ DC ที่มีบัญชีที่ไม่มีเจ้าของได้)
-
ตรวจสอบให้แน่ใจว่าได้ติดตั้ง Windows Update ของวันที่ 14 พฤษภาคม 2024 หรือใหม่กว่าบน DC ที่สามารถเขียนได้ในโดเมนบัญชีที่เชื่อถือรุ่นเบื่อหน่าย
-
เข้าสู่ระบบ DC นั้นด้วยบัญชีผู้ดูแล Schema ถ้าคุณเพิ่มบัญชีลงในกลุ่ม "ผู้ดูแลระบบ Schema" ในขั้นตอนที่ 2 ให้ใช้บัญชีนั้น
-
เตรียมไฟล์นําเข้า LDIFDE เพื่อปรับเปลี่ยน SchemaUpgradeInProgress และลบวัตถุ
ตัวอย่างเช่น สามารถวางข้อความด้านล่างลงในไฟล์นําเข้า LDIFDE เพื่อลบวัตถุที่ระบุในขั้นตอนที่ 1:dn:
changetype: ปรับเปลี่ยน
เพิ่ม: SchemaUpgradeInProgress
SchemaUpgradeInProgress: 1
-dn: CN=northwindsales$,CN=Users,DC=contoso,DC=com
changetype: deleteคําแนะนําเกี่ยวกับไวยากรณ์ LDIFDE:
-
บรรทัดที่มีเฉพาะยัติภังค์ ("-") มีความสําคัญ เนื่องจากจะสิ้นสุดชุดของการเปลี่ยนแปลงภายใต้ชนิดการเปลี่ยนแปลง "ปรับเปลี่ยน"
-
บรรทัดว่างหลังจากบรรทัดที่มีเครื่องหมายยัติภังค์มีความสําคัญเช่นกัน เนื่องจากจะแสดง LDIFDE ว่าการปรับเปลี่ยนทั้งหมดบนวัตถุเสร็จสมบูรณ์และควรยอมรับการเปลี่ยนแปลง
-
-
นําเข้าไฟล์ LDIFDE โดยใช้ไวยากรณ์ต่อไปนี้:
ldifde /i /f nameOfLDIFFileCreatedInStep5.txt /j
หมายเหตุ
-
พารามิเตอร์ /i ระบุการดําเนินการนําเข้า
-
พารามิเตอร์ /f ตามด้วยชื่อแฟ้มจะระบุแฟ้มที่มีการเปลี่ยนแปลง
-
พารามิเตอร์ /j ตามด้วยพาธ logfile จะเขียน ldif.log และไฟล์ ldif.err ที่มีผลลัพธ์ของการอัปเดต ไม่ว่ากระบวนการทํางานหรือไม่ และถ้าไม่ ข้อผิดพลาดที่เกิดขึ้นระหว่าง mod
-
การระบุจุด (".") ด้วยพารามิเตอร์ /j จะเขียนแฟ้มบันทึกในไดเรกทอรีที่ทํางานอยู่ในปัจจุบัน
-
-
ถ้าจําเป็น ให้เอาผู้ดูแลระบบโดเมนที่เพิ่มไว้ก่อนหน้านี้ในขั้นตอนที่ 2 ออกจากกลุ่ม "ผู้ดูแลระบบ Schema"