ค้นหาเว็บไซต์

การกู้คืนวัตถุ/ผู้ใช้ Active Directory ที่ถูกลบ


หลังจากลบวัตถุใดๆ ใน Active Directory (ผู้ใช้ กลุ่ม คอมพิวเตอร์ หรือ OU) คุณสามารถกู้คืนได้ ในบทความนี้ เราจะแสดงวิธีกู้คืนวัตถุที่ถูกลบใน AD โดยใช้ PowerShell และเครื่องมือกราฟิก

ก่อนอื่น มาดูกันว่าจะเกิดอะไรขึ้นเมื่อคุณลบวัตถุออกจากโฆษณา ลักษณะการทำงานของ AD เมื่อนำวัตถุออกขึ้นอยู่กับว่าเปิดใช้งาน ถังรีไซเคิล Active Directory หรือไม่ (ปิดใช้งานตามค่าเริ่มต้น) ในทั้งสองกรณี ออบเจ็กต์จะไม่ถูกลบออกทางกายภาพ จะถูกทำเครื่องหมายว่าลบแล้วเท่านั้น (ค่าแอตทริบิวต์ isDeleted เปลี่ยนเป็น true) และย้ายไปยังคอนเทนเนอร์ ออบเจ็กต์ที่ถูกลบ พิเศษ ( ไม่แสดงในสแน็ปอิน AD mmc) อย่างไรก็ตาม หากเปิดใช้งานถังรีไซเคิล AD แอตทริบิวต์และการเป็นสมาชิกทั้งหมดจะถูกเก็บไว้

ตามค่าเริ่มต้น คุณสามารถกู้คืนออบเจ็กต์ที่นำออกได้ภายใน 180 วัน (กำหนดในแอตทริบิวต์ของโดเมน msDS-deletedObjectLifetime) หากพ้นระยะเวลา วัตถุยังคงอยู่ในคอนเทนเนอร์ Deleted Objects แต่แอตทริบิวต์และลิงก์ส่วนใหญ่จะถูกล้าง (Recycled Object) หลังจากช่วง tombstoneLifetime (โดยค่าเริ่มต้นคือ 180 วันเช่นกัน แต่คุณสามารถเพิ่มได้) วัตถุจะถูกลบออกจาก AD อย่างสมบูรณ์ระหว่างการล้างข้อมูลอัตโนมัติและไม่สามารถกู้คืนได้ (คุณสามารถกู้คืนได้เฉพาะวัตถุดังกล่าวเท่านั้น จากการสำรองข้อมูลตัวควบคุมโดเมน AD)

ถังรีไซเคิลไดเรกทอรีที่ใช้งานอยู่

ถังรีไซเคิล AD มีอยู่ใน Active Directory โดยเริ่มจากระดับการทำงานของ Windows Server 2008 R2 ใน Windows Server เวอร์ชันก่อนหน้า คุณยังสามารถกู้คืนอ็อบเจ็กต์ AD ได้ แต่ต้องใช้ชุดการดำเนินการที่ซับซ้อนโดยใช้เครื่องมือพิเศษ:

ntdsutil

(ขึ้นอยู่กับการคืนค่าอย่างเป็นทางการจากข้อมูลสำรอง AD ในโหมดการคืนค่าบริการไดเร็กทอรี) หรือ

ldp.exe

นอกจากนี้ ด้วยถังรีไซเคิล AD คุณจะไม่สูญเสียแอตทริบิวต์ของวัตถุและการเป็นสมาชิกกลุ่ม

ตรวจสอบระดับการทำงานของฟอเรสต์ AD (ในตัวอย่างของฉัน นี่คือ Windows2016Forest):

Get-ADForest |Select-Object forestmode

คำสั่งนี้และคำสั่งต่อไปนี้จำเป็นต้องติดตั้งโมดูล Active Directory สำหรับ PowerShell

ตรวจสอบให้แน่ใจว่าได้เปิดใช้งานถังรีไซเคิล AD สำหรับโดเมนของคุณ (ซึ่งถูกปิดใช้งานตามค่าเริ่มต้น):

Get-ADOptionalFeature “Recycle Bin Feature” | select-object name,EnabledScope

หากค่า EnabledScope ไม่ว่างเปล่า แสดงว่ามีการเปิดใช้งาน Active Directory Recycle Bin สำหรับโดเมนของคุณ

หากคุณต้องการเปิดใช้งาน Active Directory Recycle Bin ให้ใช้ cmdlet Enable-ADOptionalFeature:

Enable-ADOptionalFeature -Identity ‘CN=Recycle Bin Feature,CN=Optional Features,CN=Directory Service,CN=Windows NT,CN=Services,CN=ConfigurationDC=a-d,DC=com’ -Scope ForestOrConfigurationSet -Target ‘a-d.site’

หมายเหตุ ต้องเปิดใช้งาน AD Recycle Bin ก่อนที่จะลบวัตถุออกจากโดเมน หลังจากเปิดใช้งานคุณลักษณะ Active Directory Recycle Bin คุณจะไม่สามารถปิดใช้งานได้

จะกู้คืนบัญชีผู้ใช้ที่ถูกลบใน Active Directory ได้อย่างไร

ลองลบผู้ใช้ AD แล้วกู้คืนจากถังรีไซเคิล AD

ใช้ Get-ADUser cmdlet แสดงค่าของแอตทริบิวต์ IsDeleted ของผู้ใช้ (ว่างเปล่า):

get-aduser jsanti -Properties *| Select-Object IsDeleted,whenDeleted

จากนั้นลบบัญชีผู้ใช้:

Remove-ADUser jsanti

หากต้องการค้นหาบัญชีผู้ใช้ที่ถูกลบใน AD Recycle Bin ให้ใช้ cmdlet Get-ADObject พร้อมด้วยพารามิเตอร์ IncludeDeletedObjects:

Get-ADObject -Filter 'Name -like "*santi*"' -IncludeDeletedObjects

อย่างที่คุณเห็น พบผู้ใช้ในคอนเทนเนอร์ วัตถุที่ถูกลบ

ตรวจสอบค่าของแอตทริบิวต์ IsDeleted คอนเทนเนอร์ที่ผู้ใช้อยู่ก่อนที่จะถูกลบ (LastKnownParent) และรายชื่อกลุ่มที่ผู้ใช้เคยเป็นสมาชิก:

Get-ADObject -Filter 'Name -like "*santi*"' -IncludeDeletedObjects -Properties *| select-object Name, sAMAccountName, LastKnownParent, memberOf, IsDeleted|fl

หากคุณจำชื่อผู้ใช้ที่คุณลบไม่ได้ คุณสามารถแสดงรายการวัตถุทั้งหมดที่มีอยู่ในถังรีไซเคิล Active Directory:

Get-ADObject -filter {Deleted -eq $True -and ObjectClass -eq "user"} -includeDeletedObjects

หากต้องการคืนค่าบัญชีผู้ใช้ ให้คัดลอกค่า ObjectGUID และเรียกใช้คำสั่งต่อไปนี้:

Restore-ADObject -Identity ‘aa704b7f-b003-4a21-8f62-53c75caa67b2

หรือคุณสามารถกู้คืนผู้ใช้โดยใช้ SAMAccountName:

Get-ADObject -Filter 'SAMAccountName -eq "jsanti"' -IncludeDeletedObjects | Restore-ADObject

เปิดคอนโซล ADUC (

dsa.msc

) และตรวจสอบให้แน่ใจว่าบัญชีผู้ใช้ได้รับการกู้คืนใน OU เดียวกับที่อยู่ก่อนการลบ

คุณยังสามารถกู้คืนวัตถุบัญชีผู้ใช้ที่ถูกลบได้จากคอนโซลกราฟิกของ ศูนย์การดูแลระบบ Active Directory

  1. เรียกใช้

    dsac.exe

    ;

  2. ค้นหาคอนเทนเนอร์วัตถุที่ถูกลบ ประกอบด้วยวัตถุ AD ที่ถูกลบทั้งหมด;

  3. คลิกวัตถุที่คุณต้องการกู้คืนและเลือก กู้คืน (เพื่อกู้คืนไปยังคอนเทนเนอร์เดิม) หรือ กู้คืนไปยัง (เพื่อกู้คืนไปยัง AD Organizational Uni)

ในทำนองเดียวกัน คุณสามารถกู้คืนกลุ่มที่ถูกลบ คอมพิวเตอร์ หรือคอนเทนเนอร์ใน Active Directory

ในการกู้คืนกลุ่มความปลอดภัยที่ถูกลบ:

Get-ADObject -Filter { Deleted -eq $True -and ObjectClass -eq 'group' -and Name -like '*Allow*' } -IncludeDeletedObjects| Restore-ADObject -verbose

ในการกู้คืนคอมพิวเตอร์:

Get-ADObject -Filter { Deleted -eq $True -and ObjectClass -eq 'computer' -and Name -like '*PCCA-sdd9302*' } -IncludeDeletedObjects| Restore-ADObject -verbose

วิธีคืนค่า OU ที่ถูกลบและวัตถุที่ซ้อนกันโดยใช้ PowerShell

ตัวอย่างเช่น คุณปิดตัวเลือก ป้องกันวัตถุจากการลบโดยไม่ตั้งใจ สำหรับ OU และบางครั้งคุณได้ลบ OU ที่มีผู้ใช้ คอมพิวเตอร์ และกลุ่มทั้งหมด

ก่อนอื่น คุณต้องกู้คืนรูท OU:

Get-ADObject -Filter {Deleted -eq $True -and ObjectClass -eq 'organizationalunit' -and Name -like '*California*'} -IncludeDeletedObjects| Restore-ADObject

จากนั้นกู้คืน OU ที่ซ้อนกันทั้งหมด:

Get-ADObject -Filter {Deleted -eq $True -and ObjectClass -eq 'organizationalunit' -and LastKnownParent -eq 'OU=California,DC=a-d,DC=com'} -IncludeDeletedObjects| Restore-ADObject

หลังจากนั้น คุณสามารถกู้คืนวัตถุที่ถูกลบทั้งหมดใน OU โดยใช้พารามิเตอร์ LastKnownParent (ผู้ใช้ คอมพิวเตอร์ กลุ่ม และผู้ติดต่อ):

Get-ADObject -Filter {Deleted -eq $True} -IncludeDeletedObjects -Properties *| Where-Object LastKnownParent -like '*OU=California,DC=a-d,DC=com'| Restore-ADObject

บทความที่เกี่ยวข้อง