Trong Windows Server 2008 R2 có một tính năng khá mạnh trong việc khôi phục các đối tượng từ Active Directory đó là Active Directory Recycle Bin. Trong bài viết chúng tôi sẽ cùng các bạn đi tìm hiểu về tính năng này và cách sử dụng nó như thế nào.

Windows Server 2008 R2 có một tính năng Active Directory Recycle Bin mới, đây là tính năng mà bạn có thể sử dụng để “undo” những gì bị xóa do vô tình cho cả Active Directory Domain Services (AD DS) và Active Directory Lightweight Directory Services (AD LDS). Active Directory Recycle Bin cho phép bạn khôi phục các đối tượng đã bị xóa do vô tình cách nhanh chóng và giảm thời gian chết trong việc mất dữ liệu.

Để sử dụng Active Directory Recycle Bin, môi trường của bạn cần phải có đủ các điều kiện tiên quyết. Khi có đủ các tiêu chuẩn này bạn cũng vẫn cần phải thực hiện một số kế hoạch vì việc sử dụng Active Directory Recycle Bin sẽ hạn chế việc sử dụng một số tính năng khác.

Bài viết này sẽ giới thiệu cho các bạn về cách thức làm việc của Active Directory Recycle Bin như thế nào, khi nào bạn có thể sử dụng và không thể sử dụng nó, cách thực hiện các nhiệm vụ có liên quan đến Active Directory Recycle Bin như thế nào. Bạn sẽ rất cần đến các thông tin này vì Active Directory Recycle Bin thực sự không có giao diện đồ họa thân thiện người dùng.

Các điều kiện tiên quyết

Active Directory Recycle Bin yêu cầu mức chức năng forest của Windows Server 2008 R2, nghĩa rằng tất cả các bộ điều khiển miền (domain controller) trong forest đều đã được cài đặt Windows Server 2008 R2 và tất cả các miền trong forest đều có mức chức năng domain của Windows Server 2008 R2.

Active Directory Recycle Bin là một tính năng forest rộng mạng tính tùy chọn, có thể sử dụng cho tất cả các miền trong forest khi được kích hoạt. Tính năng này bị vô hiệu hóa mặc định cho dù mức chức năng forest được thiết lập là Windows Server 2008 R2. Bạn có thể kích hoạt Active Directory Recycle Bin bằng cách sử dụng lệnh Enable-ADOptionalFeature có trong Active Directory Module for Windows PowerShell trong Windows Server 2008 R2.

Trước khi kích hoạt Active Directory Recycle Bin, bạn hãy chú ý rằng: Khi đã bật Active Directory Recycle Bin, tính năng này sẽ không thể vô hiệu hóa. Bạn có thể không thấy những vấn đề gặp phải đối với hạn chế này, tuy nhiên nó sẽ ngăn không cho bạn sử dụng các tính năng mới khác trong Windows Server 2008 R2, ví dụ như khả năng “roll back” (hành động nhằm đưa trở về trạng thái trước đó) hoặc hạ thấp các mức chức năng domain và forest. Hai tính năng này thường loại trừ lẫn nhau: Để “roll back” hoặc hạ thấp các mức chức năng, tất cả các tính năng tùy chọn của Active Directory phải được vô hiệu hóa. Sự trớ trêu ở đây là Active Directory Recycle Bin chỉ là một tính năng mang tính tùy chọn và không thể vô hiệu hóa khi đã được kích hoạt. Chính vì vậy, bạn sẽ không thể “roll back” hoặc hạ thấp các mức chức năng nếu đã kích hoạt Active Directory Recycle Bin.

Cách làm việc của Active Directory Recycle Bin.

Bằng cách kích hoạt Active Directory Recycle Bin, bạn sẽ thay đổi một cách có hiệu quả chu trình (lifecycle) cho các đối tượng AD DS. Để tìm hiểu rõ về cách làm việc của Active Directory Recycle Bin, chúng ta hãy xem xét đến chu trình của các đối tượng AD DS sau khi Active Directory Recycle Bin được kích hoạt (xem trong hình 1)


Hình 1: Chu trình của đối tượng AD DS khi Active Directory Recycle Bin được kích hoạt

Như những gì thể hiện trong hình 1, có bốn trạng thái trong một chu trình của đối tượng AD DS sau khi Active Directory Recycle Bin được kích hoạt:

  • Live
  • Deleted
  • Recycled
  • Physically Deleted

Chúng ta hãy đi xem xét vắn tắt về các trạng thái này.

Trạng thái Live

Khi một đối tượng AD DS nằm trong thư mục, lúc này nó được coi như đang ở trạng thái Live.

Trạng thái Deleted

Khi một đối tượng AD DS bị xóa khỏi thư mục, đối tượng sẽ được chuyển sang trạng thái Deleted. Ở trạng thái này, đối tượng đã bị xóa logic ra khỏi thư mục. Sự xóa bỏ logic được định nghĩa dưới đây:

  • Các thuộc tính được bảo tồn
  • Tên riêng của đối tượng bị đọc sai.
  • Đối tượng được chuyển vào mục các đối tượng đã xóa Deleted Objects.

Đối tượng AD DS được duy trì ở trạng thái Deleted này trong suốt quãng thời gian tồn tại của đối tượng đã xóa. (Số lượng có thể được cấu hình; mặc định trong Windows Server 2008 R2 là 180 ngày). Khi một đối tượng ở trạng thái Deleted, bạn có thể đưa chúng trở về trạng thái Live trước đó bằng cách sử dụng Active Directory Recycle Bin và thực hiện một hành động khôi phục xác thực.

Trạng thái Recycled

Khi thời gian tồn tại của một đối tượng bị xóa vượt quá thời hạn cho phép, đối tượng AD DS sẽ bị chuyển sang trạng thái Recycled. Bước chuyển từ trạng thái Deleted sang trạng thái Recycled được thực hiện hoàn toàn tự động bởi hệ thống, hủy bỏ hầu hết các thuộc tính của đối tượng.

Số lượng thời gian sống của đối tượng trong trạng thái này cũng có thể cấu hình; mặc định là 180 ngày. Khi một đối tượng nằm trong trạng thái Recycled, đối tượng sẽ không thể được khôi phục bằng Active Directory Recycle Bin.

Trạng thái Physically Deleted

Khi thời gian sống của đối tượng trong trạng thái Recycled hết hạn, quá trình thu thập rác sẽ xóa đối tượng này ra khỏi cơ sở dữ liệu.

Sử dụng Active Directory Recycle Bin

Việc xóa một đối tượng nào đó do vô tình rất có thể xay ra. Bằng vài kích chuột bạn có thể vô tình xóa đến hàng trăm hay thậm chí hàng ngày đối tượng. Viễn cảnh đó thật là tồi tệ, tuy nhiên Active Directory Recycle Bin có thể cho phép bạn chuộc lại lỗi lầm của mình.

Các phần dưới đây sẽ cung cấp các thông tin chi tiết về cách kích hoạt Active Directory Recycle Bin, cách xem các đối tượng trong trạng thái Deleted và cách khôi phục các đối tượng bị xóa do vô tình.

Kích hoạt Active Directory Recycle Bin

Active Directory Recycle Bin là một tính năng không mang tính bắt buộc, tuy nhiên bạn cần phải kích hoạt nếu muốn sử dụng nó. Bạn có thể kích hoạt tính năng này bằng cách sử dụng Active Directory Module for Windows PowerShell. Như đã đề cập từ trước, phải cần đến mức chức năng forest của Windows Server 2008 R2.

Các bước dưới đây sẽ mô tả chi tiết quá trình kích hoạt Active Directory Recycle Bin:

  1. Đăng nhập vào domain controller cho phép bạn thay đổi.
  2. Kích Start > All Programs > Administrative Tools > Active Directory Module for Windows PowerShell.
  3. Trong cửa sổ Active Directory Module for Windows PowerShell, đánh vào lệnh dưới đây, thay thế phần domain.local trong lệnh này bằng tên thích hợp: 
Enable-ADOptionalFeature 'Recycle Bin Feature'
-scope ForestOrConfigurationSet -Target 'domain.local'
  1. Nhấn Enter.


Hình 2: Kích hoạt tính năng Active Directory Recycle Bin

  1. Như thể hiện trong hình 2, bạn sẽ được nhắc nhở bằng một thông báo xác nhận, thông báo này cảnh báo bạn rằng sự thay đổi này chỉ mang tính một chiều (không thể thay đổi ngược lại). Nếu bạn chắc chắn rằng mình muốn tiếp tục, hãy đánh Y và nhấn Enter.

Active Directory Module for Windows PowerShell sẽ không báo cáo sự thay đổi thành công, không có sự kiện nào được ghi lại trong bản ghi sự kiện để mách bảo bạn rằng tính năng Active Directory Recycle Bin đã được kích hoạt. Tuy nhiên bạn có thể sử dụng lệnh Get-ADOptionalFeature để thẩm định rằng tính năng này đã được kích hoạt thành công.

Để thẩm định trạng thái của tính năng Active Directory Recycle Bin, hãy thực hiện theo các bước dưới đây:

  1. Đăng nhập vào domain controller.
  2. Kích Start > All Programs > Administrative Tools > Active Directory Module for Windows PowerShell.
  3. Trong cửa sổ Active Directory Module for Windows PowerShell, hãy đánh vào lệnh dưới đây:
Get-ADOptionalFeature 'Recycle Bin Feature'
  1. Nhấn Enter. Như những gì thể hiện trong hình 3, cửa sổ sẽ hiển thị trạng thái của tính năng Active Directory Recycle Bin. Những thông tin quan trọng được chứa trong phần EnabledScopes, đây là phần liệt kê danh sách các partition mà Active Directory Recycle Bin đã được kích hoạt.

Hình 3: Thẩm định trạng thái của Active Directory Recycle Bin

Xem các đối tượng đã xóa

Khi Active Directory Recycle Bin được kích hoạt, bạn có thể sử dụng một trong hai công cụ dưới để xem các đối tượng đã bị xóa và được đặt vào mục Deleted Objects:

  • Tiện ích ldp.exe Lightweight Directory Access Protocol (LDAP)
  • Active Directory Module for Windows PowerShell

Xem Deleted Objects bằng tiện ích ldp.exe

Để xem các đối tượng đã xóa bằng tiện ích ldp.exe, hãy thực hiện các bước sau:

  1. Đăng nhập vào một domain controller.
  2. Kích Start > Run, đánh ldp.exe, sau đó kích OK.
  3. Trên menu Connection, chọn Connect.
  4. Trong hộp thoại Connect (xem trong hình 4), đánh vào tên và domain controller trong forest root domain và kích OK.


Hình 4: Hộp thoại Connect

  1. Trên menu Connection, chọn Bind.
  2. Trong hộp thoại Bind (xem trong hình 5), chọn tùy chọn "Bind as currently logged on user" hoặc "Bind with credentials". Nhập vào các tiêu chuẩn, sau đó kích OK.


Hình 5: Hộp thoại Bind

  1. Trên menu View, chọn Tree.
  2. Trong hộp thoại Tree View (xem trong hình 6), nhập vào tên riêng của forest root domain, sau đó kích OK.


Hình 6: Hộp thoại Tree View

  1. Trên menu Options, chọn Controls
  2. Trong hộp thoại Controls (xem trong hình 7), mở danh sách Load Predefined và chọn Return deleted objects, sau đó kích OK.


Hình 7: Hộp thoại Controls

  1. Mở rộng phần forest root domain trong cây giao diện, xem trong hình 8. Kích đúp vào nút "CN=Deleted Objects,DC=Domain,DC=local", ở đây DC=Domain,DC=local chính là tên riêng của forest root domain.

Hình 8: Mục Deleted Objects

Bất cứ đối tượng nào đã bị xóa cũng đều hiện hữu trong mục Deleted Objects này. Trong hình 8, đối tượng User1 hiện hữu vì nó đã bị xóa sau khi tính năng Active Directory Recycle Bin được kích hoạt.

Xem các đối tượng đã xóa bằng Active Directory Module for Windows PowerShell

Để xem các đối tượng đã xóa bằng Active Directory Module for Windows PowerShell, bạn thực hiện theo các bước dưới đây:

  1. Đăng nhập vào một domain controller.
  2. Kích Start > All Programs > Administrative Tools > Active Directory Module for Windows PowerShell.
  3. Trong cửa sổ Active Directory Module for Windows PowerShell (xem trong hình 9), đánh vào lệnh sau:
Get-ADObject -ldapFilter:"(msDS-LastKnownRDN=*)" 
-IncludeDeletedObjects
  1. Nhấn Enter.

Hình 9: Xem các đối tượng đã xóa bằng cách sử dụng Active Directory Module for Windows PowerShell.

Như thể hiện trong hình 9, các đối tượng đã xóa được liệt kê theo danh sách

Khôi phục các đối tượng bị xóa

Bạn có thể khôi phục các đối tượng bị xóa bằng cách sử dụng tiện ích ldp.exe hoặc sử dụng Active Directory Module for Windows PowerShell.

Khôi phục đối tượng đã xóa bằng tiện ích ldp.exe

Để khôi phục các đối tượng đã xóa bằng tiện ích này. Bạn thực hiện theo các bước dưới đây:

  1. Sử dụng tiện ích ldp.exe để tìm đối tượng mà bạn muốn khôi phục. (xem hướng dẫn trong phần trước).
  2. Trong cây giao diện, kích phải vào đối tượng mà bạn muốn khôi phục. Chọn Modify từ menu xuất hiện.
  3. Trong hộp thoại Modify (xem trong hình 10), hãy đánh isDeleted vào trường Edit Entry Attribute.
  4. Trong phần Operation của hộp thoại, hãy chọn Delete.


Hình 10: Điều chỉnh thuộc tính isDeleted

  1. Kích nút Enter. Hộp thoại sẽ được refresh với nhiều chi tiết được hiển thị hơn (xem trong hình 11).
  2. Đánh distinguishedName trong trường Edit Entry Attribute.
  3. Trong trường Values, đánh vào tên riêng ban đầu của đối tượng Active Directory.
  4. Trong phần Operation, chọn Replace.
  5. Tích vào hộp kiểm Extended ở phía dưới bên trái của hộp thoại.
  6. Kích nút Enter, sau đó kích Run.

Hình 11: Điều chỉnh thuộc tính distinguishedName

Bạn đã điều chỉnh thành công thuộc tính để khôi phục lại đối tượng bị xóa, các thông tin của đối tượng sẽ biến mất trong cây giao diện (xem hình 12).


Hình 12: So sánh hình này với hình 8 để xem các thông tin đã được khôi phục

Khôi phục đối tượng đã xóa bằng Active Directory Module for Windows PowerShell

Để khôi phục bằng phương pháp này, bạn hãy thực hiện theo các bước sau:

  1. Sử dụng Active Directory Module for Windows PowerShell để tìm thuộc tính Name cho đối tượng mà bạn muốn khôi phục (xem hướng dẫn trong phần trước).
  2. Trong cửa sổ Active Directory Module for Windows PowerShell (hình 13), đánh vào lệnh dưới đây, thay thế User1 bằng thuộc tính cho thuộc tính Name mà bạn muốn khôi phục:
Get-ADObject -Filter {displayName -eq "User1"} 
-IncludeDeletedObjects | Restore-ADObject
  1. Nhấn Enter.

Hình 13: Khôi phục đối tượng bị xóa bằng Active Directory Module for Windows PowerShell.

Active Directory Module for Windows PowerShell sẽ không báo cáo về sự thành công của quá trình khôi phục, tuy nhiên bạn có thể tìm đối tượng trong thư mục để thẩm định cho sự thành công đó.

Kết luận

Với tính năng Active Directory Recycle Bin mới, bạn có thể “undo” những đối tượng bị xóa do vô tình một cách nhanh chóng và dễ dàng. Và có thể kết luận nó sẽ là một tính năng vô giá đối với hầu hết các tổ chức của Windows Server 2008 R2.