Anderson Patricio
Bạn có thể làm được những gì với một cơ sở dữ liệu (CSDL) mailbox? Trong một kịch bản về sự cố, chúng ta bị mất Domain Controller và không có bất kỳ backup nào, một CSDL Exchange Server sẽ rất hữu dụng trong trường hợp này và có thể tiết kiệm được nhiều thời gian trong suốt quá trình xây dựng lại hệ thống. Các mailbox có một số thông tin về tài khoản người dùng có liên quan và chúng ta có thể sử dụng những thông tin này để tạo các người dùng mới và kết nối họ vào mailbox.
Tuy vậy, nó sẽ không bảo vệ được các quản trị viên trong một số sự cố đối với việc nhập tất cả các máy chủ/ máy trạm làm việc vào trong một miền mới, tạo lại các điều khoản...
Bài này có thể rất hữu dụng khi bạn muốn tạo một môi trường lab bằng Virtual Server hay bất kỳ phần mềm ảo hóa nào mà chúng ta không muốn khôi phục trạng thái hệ thống trong phòng lab.
Kịch bản…
Chúng ta sẽ sử dụng cùng một kịch bản cho cả hai phần của bài này, sự khác nhau giữa chúng là quá trình có liên quan đến việc tạo tài khoản người dùng Active Directory từ CSDL mailbox.
Kịch bản của chúng tôi ở đây sẽ là một công ty với một Active Directory và một Exchange Server (Hình 1). Trong phần đầu tiên này, Exchange Server sẽ là Exchange Server 2007 và trong phần thứ hai nó sẽ là Exchange Server 2003. Chỉ có máy chủ Active Directory gặp vấn đề và chúng ta không có bất kỳ một Active Directory cũng như backup trạng thái hệ thống System State nào.
Hình 1: Chúng ta có một domain controller không có backup
Để tạo các tài khoản của người dùng Active Directory, CSDL mailbox phải ở trong trạng thái shutdown (Clean shutdown) như thể hiện trong hình 2.
Hình 2: Chạy eseutil /mh đối với CSDL để hợp lệ hóa trạng thái của CSDL này
Chúng ta có thể tóm tắt các bước cần thiết để xây dựng môi trường mới dưới đây:
1. Tạo Active Directory Domain.
2. Tạo cơ sở hạ tầng Exchange Server
3. Gắn vào đó CSDL cũ
4. Tạo một danh sách các mailbox đã bị hủy kết nối trên file LDF.
5. Sử dụng file LDF mới này để tạo các tài khoản Active Directory.
6. Phù hợp hoá các người dùng mới tạo với mailbox bị hủy kết nối.
Tạo một môi trường từ sự cố
Chúng ta phải tạo một môi trường thậm trí sự cố chỉ ở trong máy chủ Active Directory. Điều này là vì tất cả các thông tin Exchange Server đã lưu trong Active Directory không tồn tại ở nơi nào khác. Chúng ta phải thực hiện các bước sau:
1. Xây dựng một máy chủ mới và cài đặt Active Directory.
2. Tạo chương trình backup cho máy chủ này vì chúng ta không muốn thực hiện toàn bộ công việc này lại một lần nữa.
3. Cài đặt một máy chủ mới cho Exchange Server 2007 và cài đặt nó (chuẩn bị Forest và Active Directory), bạn có thể tham khảo các bài viết hướng dẫn về cài đặt Exchange Server 2007 để thực hiện công việc này.
Gắn CSDL cũ và xem xét các mailbox đã được hủy kết nối
Bây giờ chúng ta đã có một môi trường mới với Active Directory và Exchange Server được cài đặt từ sự cố, hãy gắn CSDL từ môi trường cũ và đưa nó đến dữ liệu của người dùng. Để thực hiện nhiệm vụ này bạn thực hiện theo các bước hướng dẫn dưới đây:
1. Mở Exchange Management Console.
2. Kích phần Server Configuration.
3. Kích vào Mailbox và trong panel Result, kích vào máy chủ hiện hành.
4. Kích vào CSDL có tên gọi Mailbox Database, sau đó kích Properties trong Toolbox Actions.
5. Nhớ đường dẫn CSDL cho bước tiếp theo và đánh dấu vào hộp chọn This database can be overwritten by a restore. Kích OK (Hình 3).
Hình 3: CSDL mailbox mặc định sẽ được ghi đè bởi CSDL sản xuất từ môi trường cũ.
Bây giờ, hãy để ý đến đường dẫn, nơi mà CSDL hiện hành được xác định, bạn sẽ phải gỡ bỏ file CSDL hiện hành này (mailbox database.edb). Sau đó, copy CSDL cũ vào một đường dẫn tương tự và đặt lại tên là “Mailbox database.edb”. Sau đó có thể quay về Exchange Management Console, kích vào CSDL đã bị gỡ bỏ và kích Mount Database trong Toolbox Actions.
Liệt kê các mailbox bị hủy kết nối và tạo người dùng Active Directory
Chúng ta đã đưa được CSDL cũ vào Exchange Server mới và tất cả dữ liệu của người dùng đều nằm trong CSDL được cài đặt này. Hãy xem xét đến Mailbox Database đã bị hủy kết nối, tuy nhiên trước đó phải thực hiện quét trong Active Directory để tìm các mailbox đã bị hủy kết nối. Chúng ta có thể thực hiện điều đó bằng cách sử dụng cmdlet Clean-MailboxDatabase –Identity , như trong hình 4.
Hình 4: Liệt kê các CSDL mailbox và chạy lệnh clean-mailboxdatabase cmdlet
Để xem các mailbox đã bị hủy kết nối, chúng ta có thể mở Exchange Management Console, kích vào phần Recipient Configuration, sau đó kích Disconnected Mailbox item, bạn có thể xem hình 5 để có thêm thông tin.
Hình 5: Tất cả các mailbox đã bị hủy kết nối
Bước tiếp theo là sử dụng một script để thu thập thông tin từ các mailbox đã bị hủy kết nối và tạo file LDF để sử dụng cho việc tạo các tài khoản người dùng Active Directory. Script này có thể tìm thấy trong file trợ giúp của Exchange Server 2007. Chúng ta hãy copy nội dung của script này và lưu vào file có tên gọi CreateLdifFromDisconnectedMailboxes.ps1 trong thư mục Scripts, xem như hình 6.
Hình 6: Lưu script được sử dụng thông qua tiện ích Exchange Management Shell
Sử dụng script này, chúng ta có thể tạo một file LDF từ những thông tin mailbox đã hủy kết nối. Tham số mà bạn phải chỉ rõ trong script là OU (Organizational Unit) nào sẽ được sử dụng để tạo người dùng mới (Hình 7). Cú pháp script được hiển thị như bên dưới:
.\CreateLdifFromDisconnectedMailboxes.ps1 –ContainerDN “”
Kết quả sẽ là một file LDF gồm các thông tin về cách tạo người dùng. Thông tin này đến từ các mailbox bị hủy kết nối (Hình 8).
Hình 8: Nội dung file LDF sẽ được sử dụng bởi công cụ ldifde
Giờ là lúc cần tạo các user bằng file LDF hiện hành! Để thực hiện điều đó, chúng ta sẽ sử dụng công cụ ldifde (Hình 9) với cú pháp dưới đây:
Ldifde –I –f
Hình 9: Tạo các người dùng Active Directory
Chúng ta có thể vào Active Directory Users and Computers và hợp lệ hóa nếu có người dùng mới trong OU đã được thiết kế trong script CreateLdifFromDisconnectedMailboxes.ps1. (Hình 10)
Hình 10: Những người dùng đã tạo gần đây
Bước tiếp theo sẽ là so khớp và nhập những người dùng vừa được tạo gần đây với các mailbox bị hủy kết nối (hình 11). Thực hiện nhiệm vụ này bằng cmdlet dưới đây:
Get-MailboxStatistics | where { $_.DisconnectDate –ne $null } | Connect-Mailbox –Database “”
Chúng ta có thể chọn việc thực hiện mỗi kết nối mailbox một trả lời Y hoặc có thể đánh A để “đồng ý” đối với tất cả các kết nối.
Hình 11: Kết nối những người dùng mới với các mailbox bị hủy kết nối
Lúc này, các mailbox bị hủy kết nối đều được kết nối với người dùng mới. Chúng ta có thể thấy tất cả các mailbox này trong Exchange Management Console qua hình 12.
Hình 12: Người dùng mới
OK, Lúc này chúng ta có một môi trường mới toanh với các tài khoản mới được tạo từ mailbox bị hủy kết nối. Công việc tiếp theo trên danh sách sẽ là nhập vào tất cả các máy trạm làm việc trong một miền mới, thiết lập các điều khoản trên máy chủ file…
Kết luận
Trong phần đầu tiên này, chúng ta đã biết cách tạo một người dùng Active Directory mới từ CSDL Exchange Server 2007. Bài này có thể rất hữu dụng khi không có backup Active Directory hoặc DC’s System State cũng như các DC (Domain Controller) nào khác. Tiến trình được giới thiệu trong bài sẽ giúp bạn tạo người dùng mới và kết nối chúng với những đặc điểm cũ.