Enable Active Directory Recycle Bin
- Details
- Category: KB
- Published on 01/10/2012
- Hits: 19111
เคยเผลอไปลบ Object ใด ๆ บน Active Directory บ้างไหมครับ เช่น ลบ Users หรือ OU หายไปหมดเลย ผมว่าเอาแค่ Users Account เดียวก็คงหน้าซีดกันเป็นแถบ ๆ นี่ถ้าเผลอลบ OU ไปด้วยล่ะก็รับรองได้ว่าทั้งวันคุณจะเหมือนมีเตาไฟมาลนก้นคุณอยู่ตลอดเวลา แล้วจะทำอย่างไรถ้าเผลอลบ Object ใดหายไปจาก Active Directory จะมีวิธีกู้คืนมาอย่างไร
โดยส่วนมากเรามีการทำ Backup กันอยู่แล้ว ซึ่งใคร ๆ ก็อาจจะพูดได้ว่า "เผลอลบ User ไปหรอ ก็ Restore มาซิ๊" แล้วลองถามต่อว่า "Restore จากไหนล่ะ" Tape Backup, Disk Backup, แล้วการ Restore แบบนี้ต้องมีอะไรตามมาครับ ?
Downtime ที่ใครไม่อยากให้เกิดขึ้นสำหรับชาว System ทั้งหลาย คุณจะ Restore เพียง Object เดียวแต่ถึงกับต้อง Reboot เครื่องกันหลายนาทีกันเลย มันคุ้มกันไหมครับนี่, OK แหล่ะ ถ้าไม่มีทางเลือกคุณก็ต้องทำอย่างนั้น แต่ถ้าคุณมีวิธีป้องกันที่ดีกว่าก็ควรเอามาใช้ครับ ผมกำลังพูดถึงวิธีการ Enable Active Directory Recycle Bin
เมื่อ Object ใด ๆ ถูกลบออกไปจากระบบ มันจะไปแอบอยู่ในกลุ่มพิเศษกลุ่มนึงที่ชื่อว่า Delete Objects ซึ่งหากเป็นรูปแบบ Syntax ของ LDAP แล้วมันจะอ่านค่าได้เป็น CN=Deleted Objects เมื่อ Object นั้นมาตกอยู่ในสถานะนี้ จะมีช่วงเวลาหนึ่งคอยกำกับเรียกว่า Tombstoned ซึ่งจะเป็นช่วงเวลาที่คอยรักษา Object นี้ให้คงอยู่เพื่อการ Recovery สามารถใช้งานได้ หาก Object นั้นถูกลบไปนานเกินระยะเวลาของ Tombstoned แล้วล่ะก็ Object นั้นก็จะถูกลบออกไปจากระบบจริง ๆ
ช่วงเวลาของ Tombstoned โดยค่า Default คือ 180 วัน ถูกจัดเก็บอยู่ใน Attribute ที่ชื่อว่า tombstoneLifetime นั่นหมายความว่า หากเกินเวลา 180 วันนี้ไปแล้วก็จะไม่สามารถ Restore Object ที่ถูกลบไปแล้วได้เลย
Active Directory Recycle Bin เป็นคุณสมบัติที่ติดมากับ Windows Server 2003 และ Windows Server 2008 R2 ซึ่งโดยปกติแล้วจะไม่ได้เปิดไว้ แต่เมื่อทำการเปิดใช้งานแล้วจะทำให้สามารถ Restore Object ที่ถูกลบไปกลับมาได้โดยไม่ต้องอาศัยไฟล์ Backup ในการกู้คืนและหลีกเลี่ยงการ Reboot เครื่องได้อีกด้วย, เมื่อ Object ใน Active Directory ถูกลบออกไป มันจะถูกทำให้กลายเป็นสถานะ logically deleted ซึ่งจะถูกนำไปอยู่ในกลุ่มพิเศษที่เรียกว่า Deleted Objects เช่นเดียวกัน แต่ในช่วงนี้จะมีค่าเวลาหนึ่งมาคอยกำกับเรียกว่า Deleted object lifetime
Deleted object lifetime คือช่วงเวลาที่ Object ใด ๆ ถูกลบออกจาก Active Directory แล้วยังคงสถานะที่สามารถ Restore กลับมาได้ ซึ่งค่าปกติคือ 180 วัน มี Attribute ที่ชื่อว่า msDS-deletedObjectLifetime คอยกำกับค่านี้อยู่ เมื่อ Object ที่ถูกลบเกินระยะเวลา 180 วันไปแล้ว มันจะเข้าไปสู่อีกสถานะหนึ่งคือ Recycled objects
Recycled objects นี้คือช่วงเวลาที่รอการเคลียร์ทิ้งอย่างเดียว, Object ที่หลุดจากช่วงเวลา Deleted object lifetime แล้วมาเข้าสู่ช่วง Recycled objects นี้จะไม่สามารถกู้คืนได้ไม่ว่าจะวิธีการใด ๆ แล้วก็รอจนกว่าจะพ้นช่วง Recycled objects นี้ไปก็จะถูกลบออกไปจากระบบจริง ๆ ซึ่งค่านี้ก็เหมือนกับ Attribute ของ Tombstoned เช่นกัน คือ 180 วัน
ความต้องการของระบบก่อนเปิดใช้งาน Active Directory Recycle Bin
ถ้า Domain Controller ของคุณมี Windows Server 2003 อยู่ในระบบด้วย จะต้องรันคำสั่งเหล่านี้ก่อนเป็นอันดับแรกด้วย Account ที่เป็นสมาชิกของกลุ่ม Schema Admins เป็นอย่างน้อย
เปิด Command Prompt แล้วพิมพ์คำสั่ง netdom query fsmo
เพื่อตรวจสอบว่าเครื่องใดถือครอง Role Schema master อยู่ หากมี Domain Controller เครื่องเดียวก็ไม่เป็นไร แต่ถ้ามีหลายเครื่องก็ต้องตรวจสอบกันก่อน เมื่อพบแล้วว่าเครื่องใดถือครอง Schema master อยู่ ก็ให้ไปที่เครื่องนั้นแล้วรันคำสั่ง adprep /forestprep
จากนั้นบนเครื่องที่ถือ Role Infrastructure master อยู่ ให้รันคำสั่ง adprep /domainprep /gpprep
และถ้า Infrastructure ของคุณมี Read-only Domain Controller อยู่ (RODC) ให้คุณรันคำสั่งนี้ด้วย adprep /rodcprep
ข้อบังคับต่อมาคือ Domain Controller ของคุณที่จะเปิดใช้งาน Active Directory Recycle Bin นั้นจะต้องทำงานด้วยระบบปฏิบัติการ Windows Server 2008 R2 เท่านั้น และระดับของ forest functional level นั้นจะต้องเป็น Windows Server 2008 R2 เช่นเดียวกัน, ทั้งหมดด้านบนนี้ ถ้า Domain Controller ของคุณทำงานด้วย Windows Server 2008 R2 ก็ไม่ต้องรันคำสั่งดังกล่าวเลย สามารถข้ามไปได้
Raise forest functional level to Windows Server 2008 R2
สามารถปรับ forest functional level ได้โดยเปิด Active Directory Domains and Trusts ขึ้นมา แล้วคลิกขวาที่ Active Directory Domains and Trusts, คลิก Raise Forest Functional Level
เลือกเป็น Windows Server 2008 R2 แล้วคลิก Raise
หรือจะใช้วิธีพิมพ์คำสั่งด้วย Windows PowerShell เพียงบรรทัดเดียวก็ได้ด้วยคำสั่งนี้
Set-ADForestMode -Identity domain.local -ForestMode Windows2008R2Forest
เปิดใช้งาน Active Directory Recycle Bin
เปิด Active Directory Module for Windows PowerShell ด้วย Run as administrator
แล้วพิมพ์คำสั่ง
Enable-ADOptionalFeature -Identity 'CN=Recycle Bin Feature,CN=Optional Features,CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,DC=domain,DC=local' -Scope ForestOrConfigurationSet -Target 'domain.local'
แทนที่ domain และ local ด้วยโดเมนคุณเองนะ
ตรวจสอบว่า Active Directory Recycle Bin ได้ถูก Enable แล้วโดยใช้ Tool ที่ชื่อว่า Ldp.exe
เริ่มที่ Start > Run พิมพ์ ldp.exe
เลือก Connection > Connect
คลิก OK ได้เลย
เลือก Connection อีกครั้ง, คลิก Bind แล้วคลิก OK ได้เลย
คลิก View > Tree
เลือก BaseDN เป็น CN=Configuration
ดับเบิลคลิกขยายโหนดออกมาจนถึง CN=Partition แล้วมองรายละเอียดทางด้านขวา หาข้อความว่า msDS-EnabledFeature จะพบกับค่ายาว ๆ แบบนี้ CN=Recycle Bin Feature,CN=Optional Features,CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration, DC=domain,DC=local
แสดงว่า Active Directory Recycle Bin ได้ถูกเปิดใช้งานแล้ว ซึ่งที่จริงเราสามารถมา Enable ผ่าน ldp.exe นี้ก็ได้ แต่ขั้นตอนจะยุ่งยากและเยอะไปหน่อย ผมจึงเลือกให้พิมพ์ PowerShell น่าจะสะดวกกว่า
ทั้งหมดนี้เป็นเพียงการเปิดใช้งาน Active Directory Recycle Bin เท่านั้น เพื่อรองรับการ Restore Deleted Active Directory Object ซึ่งจะนำเสนอในบทความต่อไป
Ping→ |