วันพฤหัสบดีที่ 10 พฤศจิกายน พ.ศ. 2554

เครื่องมือสำหรับการกู้ข้อมูลใน Windows Server 2008 R2 Active Directory (ตอนที่ 1)

     สวัสดีครับท่านผู้อ่านที่รักทุกท่านครับ  สำหรับเรื่องราวของบทความตอนนี้จะเป็นเรื่องของการกู้ข้อมูลที่อยู่ใน Active Directory  ของ  Windows Server 2008 R2  โดยสืบเนื่องมาจากที่ลูกศิษย์ของผมเองครับ มีความต้องการในการกู้ข้อมูล เช่น User, Group หรือ Organization Unit  จากการที่ข้อมูลหรือออปเจคเหล่านี้ถูกลบ อาจจะโดยไม่ได้ตั้งใจหรือเป็นอุบัติเหตุก็ตาม  และลูกศิษย์ของผมก็ทราบอีกว่าใน Windows Server 2008 R2 มีฟีเจอร์ที่สามารถกู้ข้อมูลได้โดยไม่ต้องเอาข้อมูลจากดิสก์หรือเทปที่ทำการสำรองเอาไว้ครับ  ดังนั้นลูกศิษย์ของผมจึงได้โทรศัพท์มาสอบถามผมว่าถ้าจะต้องใช้ฟีเจอร์ดังกล่าวนี้ได้หรือไม่ และมีขั้นตอนที่ยุ่งยากหรือไม่อย่างไร และมีข้อสงสัยตามมาอีกเยอะแยะมากมายครับ  ผมจึงบอกว่าให้ใจเย็น ๆ ก่อนเพราะคำถามหรือข้อสงสัยมาเป็นชุดแบบนี้ ทำให้ผมไม่ทราบว่าจะเริ่มตอบคำถามใดก่อนดีครับ เพื่อที่จะให้ลูกศิษย์ผมเข้าใจ หลังจากที่ใช้เวลาสักครู่ผมจึงเริ่มต้นอธิบายถึงคอนเซปและเครื่องไม้เครื่องมือที่จะต้องใช้ในการกู้ข้อมูล ซึ่งจะมีอยู่หลายตัวครับ มีทั้งแบบคอมมานไลน์และแบบ GUI ก็มีเช่นกัน  และเพื่อไม่ให้เป็นการเสียเวลาครับ  เรามาเริ่มทำความรู้จักกับเรื่องราวเกี่ยวกับการกู้ข้อมูลใน Active Directory กันครับผม

ทำความรู้จักกับ Active Directory Recycle Bin

เป็นฟีเจอร์ใหม่ที่มาพร้อมกับ Windows Server 2008 R2 และก่อนหน้านี้ผมได้นำเสนอเรื่องราวของฟีเจอร์ใหม่ ๆ ที่น่าสนใจใน Windows Server 2008 R2 ใน EWORLD ฉบับก่อน  ๆ ครับ  แต่สำหรับบทความนี้จะเป็นส่วนที่เจาะลึกเฉพาะรายละเอียดเกี่ยวกับฟีเจอร์ดังกล่าวนี้เท่านั้นครับ พร้อมกับเครื่องไม้เครื่องมืออื่น ๆ อีกครับที่สามารถนำมาใช้ในการกู้ข้อมูลจาก Active Directory ใน Windows Server 2008 R2   ก่อนอื่นผมขออนุญาตเล่าที่มาที่ไปของการกู้ข้อมูล เช่น Users, Groups, OU ใน Active Directory ก่อนว่า โดยปรกติแล้วเราสามารถที่จะทำการกู้ข้อมูลหรือการ Restore ได้ครับ โดยใช้วิธีการที่เรียกว่า “Authoritative Restore” โดยสามารถใช้งานได้ใน Windows Server 2000, 2003 รวมถึงใน Windows Server 2008 และ R2 ครับ  แต่วิธีการดังกล่าวก็จะต้องใช้เวลาพอสมควรครับ  ดังนั้นหากเกิดเหตุการณ์ดังกล่าวใน Windows Server 2008 R2 ผมสามารถใช้ฟีเจอร์ Active Directory Recycle Bin  หรือ ADRB แทนซึ่งมีความรวดเร็วและสะดวกมากขึ้นครับ   ก่อนอื่นเลยผมอยากจะให้ท่านผู้ทราบว่าฟีเจอร์ ADRB นั้นโดยดีฟอลต์จะถูกดีสเอเบิ้ลไว้ครับ และสิ่งที่ต้องทำการตรวจสอบก่อนที่จะเอ็นเอเบิ้ลใช้งาน Active Directory Recycle Bin  คือ เครื่องเซิรฟเวอร์ที่ทำหน้าที่เป็น Domain Controllers ทุกตัวจะต้องเป็น Windows Server 2008 R2 และในส่วนของ Domain และ Forest Functional Level ต้องเป็น  Windows Server 2008 R2  สิ่งต่อมาที่เราจำเป็นต้องมีไว้ใช้งานคือ PowerShell  ซึ่งจะถูกติดตั้งมาให้แล้วใน Windows Server 2008 R2

สำหรับการเข้าไปดูหรือปรับเปลี่ยน Functional Level ใน Windows Server 2008 R2   โดยทำการเปิด Active Directory Users and Computers ขึ้นมา จากนั้นให้คลิ๊กขวาที่ Domain แล้วเลือกเมนูที่ชื่อว่า Raise domain functional level ดังรูป

จากนั้นให้เลือกเป็น  Windows Server 2008 R2 แล้วกดปุ่ม Raise ครับ  เมื่อกำหนดเสร็จแล้วก็จะเห็นผลลัพธ์ดังรูปครับ

จากนั้นให้ท่านผู้อ่านทำการเปิดเครื่องมือที่ชื่อว่า Active Directory Domains and Trusts  แล้วคลิ๊กขวาที่ Active Directory Domains and Trusts แล้วเลือก Raise Forest Functional Level ดังรูปครับ
จากนั้นให้ทำการเลือกเป็น Windows Server 2008 R2 เช่นเดียวกัน  และทั้งหมดนี้เป็นการ Raise Functional Level ทั้ง Domain และ Forest ให้เป็น Windows Server 2008 R2 ครับ เพื่อรองรับฟีเจอร์ Active Directory Recycle Bin  เมื่อเสร็จในขั้นตอนนี้แล้ว สำหรับขั้นตอนต่อไปจะเป็นการโหลด AD PowerShell Module ครับ โดยจะใช้ PowerShell ทำการเอ็นเอเบิ้ล Active Directory Recycle Bin ครับ แต่ก่อนอื่นผมจะต้องทำการโหลด AD PowerShell Module เข้าไปก่อนครับ  ทำได้โดยให้ท่านผู้อ่านรัน PowerShell.exe ก่อน  จากนั้นให้พิมพ์คำสั่งดังต่อไปนี้ครับ
Import-module ActiveDirectory   ดังรูปด้านล่าง
จากนั้นให้รัน cmdlet ดังต่อไปนี้ เพื่อเอ็นเอเบิ้ล Active Directory Recycle Bin
Enable-ADOptionalFeature ‘Recycle Bin Feature’ –Scope ForestOrConfigurationSet  –Target  Demo.net
สำหรับท่านผู้อ่านที่จะนำไปใช้จะต้องเปลี่ยนชื่อของ Forest Root Domain เป็นของท่านครับ แต่ในตัวอย่างนี้ชื่อ Forest Root Domain ของผมคือ Demo.net ครับ จากนั้นให้ท่านผู้อ่านกด Y เพื่อเป็นการยืนยันครับในการเปิดใช้งาน Active Directory Recycle Bin ดังรูป
จากนั้นผมจะเปิด Active Directory Users and Computers ขึ้นมาดังรูปด้านล่างครับ
จากนั้นผมจะสมมติเหตุการณ์ว่าผมพลาดไปทำการลบ OU ที่ชื่อว่า Sales Department โดยไม่ได้ตั้งใจครับ และใน OU นี้ยังประกอบไปด้วยยูสเซอร์อีก 2 คน คือ John และ Peter ครับ  และเมื่อ OU ดังกล่าวถูกลบไปเรียบร้อยแล้ว  ขั้นตอนต่อไปผมจะใช้คอมมาน์ไลน์ในการเข้าไปดู Object ที่ถูกลบไปซึ่งอยู่ใน Active Directory Recycle Bin ครับ  โดยให้ท่านผู้อ่านพิมพ์คำสั่งตามนี้ครับ
PS C:\>  Get-ADObject –SearchBase “CN=Deleted Objects,DC=Demo,DC=net” –ldapFilter “(objectClass=*)” –includeDeletedObjects |Format-List Name, ObjectClass, ObjectGuid
จากนั้นก็จะได้ผลลัพธ์ดังรูปด้านล่างครับ
ซึ่งจะเห็นว่ามันได้แสดง Objects ที่ถูกลบไปทั้งหมด 3 ตัว ด้วยกันครับ  ในขั้นตอนต่อไปผมจะทำการกู้ Objects ที่ถูกลบไปกลับมาโดยผมจะเริ่มจากการกู้ยูสเซอร์ John กลับมาก่อนครับ  โดยใช้คำสั่งต่อไปนี้
PS C:\> Restore-ADObject –identity d95a4c97-a99b-4cc2-87f7-32757b12b510 (ObjectGuid ของ John)
จากนั้นเราได้ผลลัพธ์ดังรูปด้านล่างครับ
ซึ่งท่านผู้อ่านจะเห็นว่ามี Error เกิดขึ้น  โดย Error ดังกล่าวจะทำการแจ้งว่า Object ดังกล่าวซึ่งก็คือยูสเซอร์ John ไม่ใช่ Parent Object ครับ จึงไม่สามารถทำกู้ได้  ดังนั้นการที่เราจะทำการกู้ Objects ต่าง ๆ กลับมาได้ เราจะต้องทำการกู้ Object ที่เป็น Parent Object กลับมาก่อน ซึ่งก็คือ OU ที่ชื่อว่า Sales Department นั่นเองครับ  เพราะฉะนั้น ผมจะใช้คำสั่งในการกู้  Sales Department  OU กลับมาก่อนครับ
PS C:\> Restore-ADObject –identity 3e6d536d-8af3-416d-b8d8-762f60d992bf
หลังจากนั้นให้ท่านผู้อ่านกลับไปที่ Active Directory Users and Computers ครับ เพื่อตรวจสอบดูว่า OU ที่ชื่อว่า Sales Department กลับมาหรือยังดังรูป
จากรูปด้านบนท่านผู้อ่านก็จะเห็นว่าเราได้ Sales Department OU กลับมาแล้วครับ แต่สมาชิกหรือ Objects ต่างๆ ที่เคยอยู่ใน OU นี้ยังไม่มา  เพราะฉะนั้นเรามาดูกันต่อไปครับว่าจะต้องทำอะไรเพิ่มเติมอีก  โดยผมจะใช้คำสั่งต่อไปนี้ครับในการกู้ Objects ต่างๆ ที่อยู่ภายใต้ Sales Department OU กลับมาครับ
PS C:\> Get-ADObject –ldapFilter “(lastknownParent=OU=Sales Departmen,DC=Demo,DC=net)” –includeDeletedObjects | Restore-ADObject
จากนั้นเรากลับไปที่ Active Directory Users and Computers กันครับว่าเกิดอะไรขึ้น ดังรูปด้านล่างครับ
ซึ่งเราจะเห็นว่ายูสเซอร์ต่างๆ ก็จะกลับมาเหมือนเดิมเรียบร้อยครับ  แลจุดหนึ่งที่จะเห็นได้ว่ามีความแตกต่างจากการใช้วิธีอื่นๆ ก่อนหน้านี้ เช่น การทำ Re-Animation Objects ใน Active Directory คือ ข้อมูลต่างๆ ที่อยู่ใน Properties ของยูสเซอร์ก็จะกลับมาเหมือนเดิมเช่นกัน  ดังรูป
รูปด้านบนเป็นการแสดง Properties ของยูสเซอร์ John ในส่วนของการเป็นสมาชิกของ Group  ซึ่งจะเห็นว่าข้อมูลการเป็นสมาชิกของ Groups ต่างๆ ยังคงอยู่เหมือนเดิมครับ  หลังจากที่ผมได้ทำการกู้ Object กลับมาโดยใช้ Active Directory Recycle Bin  และทั้งหมดนี้เป็นคอนเซปและวิธีการของการใช้ฟีเจอร์ใหม่ที่มาพร้อมกับ Windows Server 2008 R2 สำหรับการกู้ข้อมูลใน Active Directory กลับมาครับผม   สำหรับในส่วนต่อไปผมจะแนะนำการใช้เครื่องมือต่างๆ ที่จะทำการกู้ข้อมูลจาก Active Directory กลับมาเช่นกันครับ  และเราลองมาเปรียบเทียบกันดูว่าอันไหนจะสะดวกในการใช้งานมากกว่ากันครับ
ผมขอเริ่มที่เครื่องมือตัวแรกครับ โดยมีชื่อว่า ADRestore.NET ครับ โดยทูลตัวนี้จะเป็นการกู้ข้อมูลแบบ GUI ครับ เพราะฉะนั้นในเรื่องของการกู้ข้อมูลจะทำได้อย่างง่ายและสะดวกมากกว่าครับ  เพราะผมเชื่อว่าโดยส่วนใหญ่แล้วเราจะไม่ค่อยถนัดในการใช้งานคอมมาน์ไลน์ครับ  ก่อนอื่นเลยให้ท่านผู้อ่านไปทำการดาวน์โหลดทูลดังกล่าวนี้จากลิ๊งค์ต่อไปนี้ครับ
เมื่อทำการดาวน์โหลดมาเรียบร้อยแล้ว  เรามาเริ่มทำการติดตั้ง ADRestore.NET กันเลยครับ  โดยให้ท่านผู้อ่านทำการดับเบิ้ลคลิ๊กไอคอน  ดังรูปครับผม
จากนั้นจะเข้าสู่หน้าจอการติดตั้ง ADRestore.NET ให้ทำการกด Next เพื่อเริ่มการติดตั้ง ดังรูปด้านล่างครับ
ในส่วนของ Select Installation Folder ให้คลิ๊ก Next ต่อไปครับ
จากนั้นให้ทำการ Next ต่อเพื่อ Confirm Installation ครับ จากนั้นให้รอสักครู่ครับ  ท่านผู้อ่านจะพบหน้าจอเพื่อแสดงผลว่าการติดตั้ง ADRestore  เสร็จเรียบร้อยแล้วครับ
เมื่อทำการติดตั้งเสร็จเรียบร้อยแล้ว  ผมขอพักเรื่องราวของ ADRestore.NET เอาไว้ก่อนครับเนื่องจากเนื้อที่หมดพอดี  ในครั้งหน้าจะเป็นเรื่องราวของ ADRestore.NET และทูลตัวอื่นๆ ที่จะเข้ามาช่วยในการกู้ข้อมูลใน Active Directory ของ Windows Server 2008 R2 กันต่อครับ  เพราะฉะนั้นขอบอกครับว่า ห้ามพลาดด้วยประการทั้งปวง  แล้วพบกันใหม่ครับผม …..

1 ความคิดเห็น:

  1. ขออนุญาตฝากลิงค์นะคะ
    ลุ้นเดิมพันไปกับเกม บาคาร่าออนไลน์ สอบถามรายละเอียดการสมัครที่ เจ้าหน้าที่ Call Center ได้ตลอด 24 ชั่วโมง ที่นี่เลยค่ะ
    https://www.111player.com

    ตอบลบ