Restore Single Deleted Active Directory Object
- Details
- Category: KB
- Published on 01/10/2012
- Hits: 11325
ต่อจากบทความที่แล้ว ที่เราได้ทำการ Enable Active Directory Recycle Bin ขึ้นมาแล้วเพื่อรองรับการกู้คืน Object ที่ถูกลบไปจาก Active Directory บน Windows Server 2008 R2 แบบไม่มี Downtime ซึ่งการ Restore Object ที่ถูกลบไปนั้นค่อนข้างมีขั้นตอนที่ซับซ้อนเล็กน้อย และยังมีเงื่อนไขบางอย่าง
เงื่อนไขที่ว่านั้นก็คือ Object ใด ๆ ที่ถูกลบไปก่อนที่จะทำการ Enable Active Directory Recycle Bin ขึ้นมา จะไม่สามารถใช้วิธีนี้ได้ ดังนั้นจะต้องกู้คืนจากไฟล์ Backup เท่านั้น และ การ Restore Object ใด ๆ ด้วย Active Directory Recycle Bin จะต้องมีอายุของ Object ที่ถูกลบไม่เกินค่า Deleted object lifetime หรือ 180 วันตามค่าปกติ
เมื่อ Object บน Active Directory ถูกลบไป มันจะถูกกำหนดให้ไปอยู่ใน Container พิเศษที่ชื่อว่า CN=Deleted Objects โดยคราวนี้จะบอกวิธีการ Restore ทีละ 1 Object ซึ่งเหมาะกับการ Restore Object จำนวนไม่มากนัก
เมื่อพร้อมแล้วก็ให้ทดสอบลบ Object ใน Active Directory ดูกันเลย โดยผมมี Active Directory ที่ติดตั้งบน Windows Server 2008 R2, แล้วจะลบ 2 User Account ทิ้งไป คือ user1 และ usera ซึ่งจะใช้วิธีการ Restore ทีละ Account จนครบ 2 User Account, อย่างที่บอกไปคือ Object ที่ถูกลบไปจะไปตกอยู่ใน Deleted Objects container ดังนั้นเราก็ต้องมาตรวจสอบกันก่อนว่า Account ที่ถูกลบไปนั้นได้หล่นมาอยู่ในนี้จริงหรือไม่
แสดง Object ที่ถูกลบใน Deleted Objects container
เรียก Start > Run พิมพ์ ldp.exe
เลือกเมนู Options > Controls
ช่อง Load Predefined เลือก Return deleted objects, คลิก OK
เลือก Connections > Connect > OK จากนั้นคลิก Connections > Bind > OK
เลือก View > Tree ในช่อง BaseDN พิมพ์ DC=domain,DC=local
ให้ดับเบิลคลิกเพื่อ Browse ไปที่ CN=Deleted Objects,DC=domain,DC=local จะพบกับ Object ทั้ง 2 ที่ผมได้ลบไป คือ user1 และ usera
แน่นอนแล้วว่า 2 Account นี้ได้ถูกลบแล้วมากองอยู่ใน Container นี้ ต่อไปเราก็จะทำการ Restore 2 Account นี้กลับไปอยู่บน Active Directory ให้เหมือนเดิม ซึ่งผมจะใช้การ Restore ด้วยวิธีที่แตกต่างกัน โดย user1 จะใช้การ Restore ผ่านเครื่องมือ ldp.exe และ usera จะ Restore ด้วยคำสั่ง Windows PowerShell
Restore deleted Active Directory object using Ldp.exe
ต่อจาก ldp เมื่อสักครู่ที่เราค้างไว้อยู่นั้น ให้คลิกขวาที่ Object ที่ต้องการ Restore แล้วเลือก Modify
ใน Dialog Modify ช่อง Edit Entry Attribute, พิมพ์ isDeleted
ช่อง Values ให้ว่างเปล่า
ตัวเลือก Operation เลือก Delete, คลิก Enter
แก้ไขค่าในช่อง Edit Entry Attribute, พิมพ์ distinguishedName
ช่อง Values พิมพ์ cn=user1,cn=Users,dc=domain,dc=local
ตัวเลือก Operation เลือก Replace
Checkbox ที่ตัวเลือก Extended แล้วคลิก Enter, คลิก Run
หลังจากคลิก Run แล้วจะพบข้อความด้านขวาเริ่มต้นบรรทัดว่า Call Modify โดยหากลอง Refresh อีกครั้งจะพบว่า user1 นั้นได้หายไปจาก Deleted Objects container แล้ว
เมื่อไปตรวจสอบที่ Active Directory Users and Computers ก็จะพบ user1 กลับมา
Restore deleted Active Directory object using Windows PowerShell
สำหรับการ Restore ด้วย PowerShell นั้นเราจะใช้ Active Directory Module for Windows PowerShell ไม่ใช่ Windows PowerShell ทั่วไปนะครับ ดูดี ๆ โดยให้เปิด Active Directory Module for Windows PowerShell ด้วย Run as administrator
พิมพ์คำสั่ง Get-ADObject -Filter {displayName -eq "usera"} -IncludeDeletedObjects | Restore-ADObject
usera ก็จะกลับมาเหมือนเดิมเช่นกันครับ รู้สึกว่าสะดวกกว่าด้วย
คราวต่อไปจะเสนอการ Restore Object ในกรณีที่ถูกลบไปทั้ง OU เลย