New-MailboxRepairRequest: Sửa các hộp thư bị hỏng trong Exchange 2016/2013/2010
Quản trị viên Exchange thường phải xử lý các lỗi logic và hư hỏng khác nhau trong hộp thư của người dùng. Các lỗi logic như vậy xuất hiện trong các sự cố như lỗi đồng bộ hóa, Outlook bị treo, hiển thị không chính xác các mục thư mục, sai số mục, lỗi tìm kiếm và thư mục chung, v.v.
Các lỗi này chủ yếu xảy ra do lỗi trên Outlook, trong trường hợp máy khách cập nhật cờ MAPI không chính xác trong quá trình xử lý các phần tử thư mục hộp thư. Thông thường, điều này xảy ra với các hộp thư dùng chung được nhiều người dùng sử dụng đồng thời. Trong hầu hết các trường hợp, người dùng thậm chí có thể không biết về sự hiện diện của lỗi trong hộp thư hoặc thư mục được kết nối, về mặt hình thức, mọi thứ đều hoạt động tốt. Tuy nhiên, với một số lỗi, người dùng có thể gặp sự cố khi truy cập hộp thư hoặc một số thư mục nhất định, xem hoặc xóa email hoặc thư mục, v.v.
Nếu người dùng gặp sự cố như vậy, quản trị viên của máy chủ Exchange nên sử dụng một trong ba cách sau để khôi phục hộp thư bị hỏng như vậy.
Nhập dữ liệu từ Outlook đang chạy ở chế độ lưu trong bộ đệm ẩn vào tệp .PST, xóa và tạo lại hộp thư mới cho người dùng “có vấn đề ” và cuối cùng nhập dữ liệu từ tệp PST vào hộp thư Exchange mới. Phương pháp này giả định một lượng thao tác thủ công nhất định trên máy tính của người dùng.
Mẹo. Bạn có thể nhập và xuất dữ liệu sang tệp PST trong Exchange Server 2019/2016/2013/2010 bằng lệnh ghép ngắn New-MailboxImportRequest và New-MailboxExportRequest.
-
Hoàn thành ngắt kết nối kho lưu trữ hộp thư và kiểm tra nó bằng tiện ích Isinteg.exe (Trình kiểm tra tính toàn vẹn của kho lưu trữ thông tin) cho phép khắc phục các hư hỏng trong Exchange dựa trên cấp ứng dụng. Phương pháp này yêu cầu thời gian ngừng dịch vụ thư khá dài đối với tất cả người dùng có hộp thư được phân bổ trong cơ sở dữ liệu bị ngắt kết nối.
Lưu ý. Trong một số trường hợp, bạn có thể thử di chuyển tất cả các hộp thư của người dùng sang cơ sở dữ liệu hộp thư “khỏe mạnh”. Trong trường hợp này, bạn có thể kiểm tra tính toàn vẹn của cửa hàng mà không vô hiệu hóa một số lượng lớn người dùng. Tuy nhiên, kỹ thuật này không phải lúc nào cũng được áp dụng vì nhiều lý do.
Khôi phục cơ sở dữ liệu Exchange từ bản sao lưu, nhập dữ liệu từ một hộp thư cụ thể vào tệp PST và truyền thêm dữ liệu vào hộp thư được tạo lại. Phương pháp này có một nhược điểm - tất cả các email đến hộp thư của người dùng sau thời gian thực hiện sao lưu cuối cùng có thể bị mất.
Quản trị viên máy chủ Exchange phải sử dụng tất cả các phương pháp được mô tả ở trên cho đến khi phát hành Exchange 2010 SP1 khi các chức năng thuận tiện hơn xuất hiện để khôi phục cấu trúc logic của hộp thư bị hỏng - lệnh ghép ngắn PowerShell mới New-MailboxRepairRequest. Lệnh ghép ngắn này cho phép bạn tìm và sửa tất cả các lỗi và lỗi logic trong cơ sở dữ liệu Exchange ở cấp độ ứng dụng. Bạn có thể tìm kiếm và sửa tất cả các lỗi cho cả một hộp thư nhất định và tất cả các hộp thư trong cơ sở dữ liệu.
Ngoài ra, khi bạn sử dụng lệnh ghép ngắn New-MailboxRepairRequest, bạn không cần phải chuyển hoàn toàn cơ sở dữ liệu thư sang chế độ ngoại tuyến. Chỉ có một hộp thư cho mỗi cơ sở dữ liệu không khả dụng, hộp thư hiện đang được thực hiện xác minh và tính toàn vẹn. Trước khi thực hiện bất kỳ cách triệt để nào được mô tả ở trên để khôi phục tính toàn vẹn của hộp thư, bạn chắc chắn nên thử sử dụng lệnh PoSh này.
Bạn có thể sử dụng lệnh ghép ngắn này để tìm, sửa chữa và giám sát các hộp thư bị hỏng trong tất cả các phiên bản được hỗ trợ của Exchange 2010, 2013 và 2016.
Cú pháp của lệnh ghép ngắn New-MailboxRepairRequest như sau:
New-MailboxRepairRequest -Mailbox -CorruptionType <MailboxStoreCorruptionType[]> [-Archive ] [-Confirm []] [-DetectOnly ] [-DomainController ] [-WhatIf []]Cmdlet cho phép bạn tìm và sửa các loại lỗi sau trong hộp thư Exchange:
SearchFolder - lỗi trong thư mục tìm kiếm;
Số lượng tổng hợp - kiểm tra và hiệu chỉnh số lượng mục trong thư mục và kích thước của chúng;
-
Chế độ xem thư mục - nội dung không chính xác được biểu thị bằng chế độ xem thư mục;
ProvisionedFolder - cấu trúc logic của thư mục bị hỏng.
Sử dụng tham số DetectOnly, bạn có thể kiểm tra một hộp thư hoặc cơ sở dữ liệu hộp thư mà không cần thực hiện bất kỳ hành động nào, ví dụ:
New-MailboxRepairRequest -Mailbox a-d -DetectOnly -CorruptionType ProvisionedFolder, SearchFolderVí dụ sau sẽ bắt đầu quá trình a-d phân tích và khôi phục hộp thư của người dùng cho tất cả 4 loại hư hỏng.
New-MailboxRepairRequest -Mailbox a-d -CorruptionType ProvisionedFolder, SearchFolder, AggregateCounts, FolderviewVí dụ sau sẽ bắt đầu quá trình a-d phân tích và khôi phục hộp thư của người dùng cho tất cả 4 loại hư hỏng:
New-MailboxRepairRequest -Database “NYMailBase1” -CorruptionType ProvisionedFolder, SearchFolder, AggregateCounts, FolderviewLệnh chạy ở chế độ nền và kết quả của nó không được hiển thị trong bảng điều khiển PowerShell. Bạn có thể theo dõi nó bằng taskID (RequestID) hoặc/và với sự trợ giúp của nhật ký sự kiện Windows (nguồn sự kiện: MSExchangeIS Mailbox Store; EventID 10059 - bắt đầu yêu cầu sửa chữa; EventID 10048 hoàn tất thành công yêu cầu sửa chữa).
Các EventID sau đây cũng có thể hữu ích (để dễ theo dõi quy trình khôi phục hộp thư Exchange, bạn có thể kết hợp chúng vào chế độ xem sự kiện tùy chỉnh với Kho lưu trữ hộp thư MSExchangeIS nguồn)
10044 - Yêu cầu sửa chữa hộp thư không thành công đối với các thư mục được cung cấp
10045 - Yêu cầu sửa chữa cơ sở dữ liệu không thành công đối với các thư mục được cung cấp
10046 - Yêu cầu sửa chữa các thư mục được cung cấp đã hoàn thành thành công
-
10047 - Bắt đầu yêu cầu sửa chữa cấp hộp thư
10048 - Yêu cầu sửa chữa hoàn tất thành công
10049 - Yêu cầu sửa chữa hộp thư hoặc cơ sở dữ liệu không thành công do Exchange gặp sự cố với cơ sở dữ liệu hoặc một tác vụ khác đang chạy trên cơ sở dữ liệu
10050 - Tác vụ yêu cầu sửa chữa hộp thư đã bỏ qua một hộp thư
10051 - Yêu cầu sửa chữa cơ sở dữ liệu đã bị hủy vì cơ sở dữ liệu đã được gỡ xuống.
10059 - Bắt đầu yêu cầu sửa chữa cấp cơ sở dữ liệu
10062 - Tham nhũng được phát hiện
10064 - Bắt đầu yêu cầu sửa chữa Thư mục công cộng
Mẹo. Lệnh ghép ngắn đặc biệt Get-MailboxRepairRequest xuất hiện trong Exchange 2013, cho phép bạn nhận trạng thái của tác vụ sửa chữa hộp thư.
Một trong những tính năng của lệnh ghép ngắn New-MailboxRepairRequest - sau khi được khởi động, quá trình sửa chữa hộp thư không thể bị gián đoạn nếu không dừng dịch vụ Lưu trữ thông tin Exchange và ngắt kết nối cơ sở dữ liệu hộp thư.
Nếu có một số cơ sở dữ liệu hộp thư trên máy chủ, để duy trì hiệu suất của máy chủ Exchange, không nên chạy New-MailboxRepairRequest cùng lúc cho một số lượng lớn cơ sở dữ liệu (mặc dù chỉ có một quy trình MailboxRepairRequest được hỗ trợ cho một cơ sở dữ liệu và tối đa 100 yêu cầu sửa chữa trên mỗi máy chủ).
Hãy xem xét một trường hợp nhỏ như một ví dụ định hướng thực hành về cách sử dụng lệnh ghép ngắn.
Người dùng Exchange 2016 gặp phải tình trạng không thể xem thư trong một trong các thư mục Outlook. Thư mục được chỉ định đã được khôi phục từ bản sao lưu hộp thư. Tuy nhiên, dường như không thể xóa thư mục này với sự trợ giúp của Outlook/Outlook Web App/MFCMAPI (xóa mềm hoặc cứng). Khi bạn cố gắng xóa một thư mục trong Outlook 2016, bạn nhận được lỗi sau:
Không thể xóa thư mục này. Bấm chuột phải vào thư mục, rồi bấm Thuộc tính để kiểm tra quyền của bạn đối với thư mục này. Xem chủ sở hữu thư mục hoặc quản trị viên của bạn để thay đổi quyền của bạn.
Outlook đang đồng bộ hóa các thay đổi cục bộ được thực hiện đối với các mục trong thư mục này. Bạn không thể xóa thư mục này cho đến khi quá trình đồng bộ hóa với máy chủ hoàn tất
Để kiểm tra và khôi phục tính toàn vẹn của hộp thư Exchange, lệnh PoSh sau đã được chạy:
New-MailboxRepairRequest -Mailbox accounts@a-d.site -CorruptionType ProvisionedFolder,SearchFolder,AggregateCounts,Folderview

