Odzyskiwanie uszkodzonych skrzynek pocztowych i folderów w programie Exchange 2016, 2013, 2010

W tym artykule skupiono się na dość powszechnym problemie, z którym prędzej czy później napotkają wszyscy administratorzy Exchange. - uszkodzenie (błędy logiczne) w skrzynce pocztowej użytkownik. Podobne błędy logiczne przejawiają się w takich problemach, jak błędy synchronizacji i zamrażania w programie Outlook, niepoprawna prezentacja elementów w folderze, ich niepoprawna liczba, błędy wyszukiwania, błędy w folderach udostępnionych itp..

Błędy te występują głównie z powodu awarii po stronie klienta programu Outlook, w przypadku, gdy klient nieprawidłowo aktualizuje flagi MAPI podczas przetwarzania elementów folderu poczty (dotyczy to w szczególności „współdzielonych” skrzynek pocztowych używanych przez kilku użytkowników jednocześnie). W większości przypadków użytkownik może nawet nie podejrzewać, że w jego skrzynce pocztowej lub folderach występują błędy Na zewnątrz wszystko działa dobrze. Jednak z niektórymi błędami użytkownik może mieć problemy z dostępem do skrzynki pocztowej lub poszczególnych folderów, przeglądaniem lub usuwaniem listów lub folderów przechowywanych w skrzynce pocztowej itp..

W przypadku, gdy użytkownik napotka takie problemy, administrator serwera Exchange musiał skorzystać z jednego z trzech sposobów przywrócenia uszkodzonej skrzynki pocztowej:

  • Importuj dane z Outlooka, uruchomione w trybie buforowanym do pliku PST, usuwając i ponownie tworząc skrzynkę pocztową „problematycznego użytkownika” na serwerze, a na koniec importując dane z pliku PST do nowej skrzynki pocztowej Exchange. Ta technika wymaga pewnej ręcznej manipulacji na komputerze użytkownika.
  • Całkowite wyłączenie (odmontowanie) sklepu pocztowego i jego magazynu Kontrola narzędzia Isinteg.exe (Information Store Integrity Checker), który pozwala naprawić uszkodzenia w bazie danych Exchange na poziomie aplikacji. Ta metoda wymaga dość długiego przestoju usługi pocztowej dla wszystkich użytkowników, których skrzynki pocztowe znajdują się w odłączonej bazie danych.

    Uwaga. W niektórych przypadkach możesz spróbować przenieść wszystkie skrzynki pocztowe użytkowników do „zdrowej” bazy danych poczty. W takim przypadku możliwe będzie sprawdzenie integralności pamięci bez odłączania dużej liczby użytkowników. Jednak ta technika, z różnych powodów, nie zawsze ma zastosowanie..

  • Przywróć bazę danych poczty Exchange z kopii zapasowej, import danych z konkretnej skrzynki do pliku PST i dalsze przesyłanie danych do odtworzonej skrzynki. Ta technika ma wadę - wszystkie litery, które wpadły do ​​skrzynki użytkownika po ostatniej kopii zapasowej, zostaną utracone.

Administratorzy serwerów Exchange musieli korzystać z metod opisanych powyżej do czasu wydania Exchange 2010 SP1, w którym pojawiła się wygodniejsza funkcja przywracania logicznej struktury uszkodzonej skrzynki pocztowej - Powershell Nowy-MailboxRepairRequest. To polecenie cmdlet pozwala znaleźć i naprawić błędy logiczne i uszkodzenia w bazie danych Exchange na poziomie aplikacji, a wyszukiwanie i korekcję błędów można wykonać zarówno dla określonej skrzynki pocztowej, jak i dla wszystkich skrzynek pocztowych w bazie danych (sekwencyjnie). Tj. nie jest wymagane całkowite przetłumaczenie bazy danych poczty offline, aw danym momencie tylko jedna skrzynka pocztowa będzie niedostępna, dla której sprawdzana jest integralność i przywracana. Przed wykonaniem jednej z radykalnych metod opisanych powyżej w celu przywrócenia integralności skrzynki zdecydowanie warto wypróbować to polecenie.

Tego polecenia cmdlet można używać do wyszukiwania, odzyskiwania i monitorowania uszkodzonych skrzynek pocztowych we wszystkich obsługiwanych wersjach programu Exchange: 2010, 2013 i 2016..

Składnia polecenia jest następująca:

New-MailboxRepairRequest -Mailbox -CorruptionType [-Archive] [-Confirm []] [-DetectOnly] [-DomainController] [-WhatIf []]

Polecenie cmdlet pozwala znaleźć i naprawić następujące rodzaje uszkodzeń w skrzynkach pocztowych Exchange:

  • Folder wyszukiwania - błędy w folderach wyszukiwania
  • AggregateCounts - sprawdzanie i poprawianie informacji o liczbie elementów w folderach i ich rozmiarze
  • Widok folderów - Nieprawidłowa treść wyświetlana w widokach folderów
  • ProvisionedFolder - naruszenia logicznej struktury folderów

Za pomocą parametru DetectOnly możesz sprawdzić skrzynkę pocztową lub bazę danych poczty bez wykonywania żadnych działań, na przykład:

New-MailboxRepairRequest -Mailbox winitpro -DetectOnly -CorruptionType ProvisionedFolder, SearchFolder

Poniższy przykład rozpocznie proces analizy i odzyskiwania skrzynki użytkownika winitpro dla wszystkich 4 rodzajów uszkodzeń:

New-MailboxRepairRequest -Mailbox winitpro -CorruptionType ProvisionedFolder, SearchFolder, AggregateCounts, Folderview

Aby rozpocząć wyszukiwanie błędów i ich odzyskiwanie dla wszystkich skrzynek pocztowych bazy danych:

New-MailboxRepairRequest -Database „MailBaseMsk1” -CorruptionType ProvisionedFolder, SearchFolder, AggregateCounts, Widok folderów

Polecenie jest wykonywane w tle i nie wyświetla żadnych wyników w konsoli PowerShell. Możesz śledzić jego uruchamianie i odzyskiwanie za pomocą identyfikatora zadania RequestID i dziennika zdarzeń Windows (źródło zdarzeń MSExchangeIS Mailbox Store: zdarzenie EventID 10059 - Rozpocznij skanowanie, EventID 10048 pomyślne zakończenie operacji).

Przydatne mogą być również następujące identyfikatory zdarzeń (dla wygody śledzenia procedury odzyskiwania skrzynek pocztowych Exchange można je zebrać w osobnym widoku dziennika MSExchangeIS Mailbox Store)

  • 10044 - Błąd wykonania żądania przywrócenia skrzynki pocztowej
  • 10045 - błąd podczas wykonywania żądania przywracania bazy danych
  • 10046 - Odzyskiwanie logicznej struktury skrzynki zakończone powodzeniem
  • 10047 - Uruchomienie żądania odzyskiwania na poziomie skrzynki pocztowej
  • 10048 - prośba o odzyskanie została zakończona pomyślnie
  • 10049 - błąd podczas odzyskiwania, znaleziono inne uruchomione żądanie w tej samej bazie danych
  • 10050 - prośba o odzyskanie została pominięta dla skrzynki
  • 10051 - żądanie przywrócenia zostało anulowane z powodu odmontowania bazy danych
  • 10059 - Rozpoczęcie odzyskiwania poziomu bazy danych Exchange
  • 10062 - wykryto obrażenia
  • 10064 - Rozpocznij przywracanie folderu publicznego

Wskazówka. W programie Exchange 2013 pojawiło się specjalne polecenie cmdlet Get-MailboxRepairRequest, które umożliwia sprawdzenie stanu operacji przywracania skrzynki pocztowej.Uwaga. Jedną z funkcji cmdletu New-MailboxRepairRequest jest to, że po uruchomieniu procedury naprawy skrzynki pocztowej nie można przerwać bez zatrzymania usługi Exchange Information Store i odmontowania bazy danych poczty.

W przypadku, gdy serwer ma kilka baz danych poczty, w celu utrzymania wydajności serwera Exchange nie zaleca się jednoczesnego uruchamiania New-MailboxRepairRequest dla dużej liczby baz danych (pomimo faktu, że tylko jeden proces MailboxRepairRequest jest obsługiwany dla jednej bazy danych, w ramach jednej serwer może obsługiwać do 100 żądań jednocześnie).

Jako praktyczny przykład użycia polecenia cmdlet, rozważ mały przypadek.

Użytkownik programu Exchange nie mógł wyświetlić wiadomości e-mail w jednym z folderów programu Outlook. Określony folder został przywrócony z kopii zapasowej skrzynki. Jednak sam folder, ani z programu Outlook, ani z aplikacji sieci Web programu Outlook, ani nawet twardego i miękkiego usuwania przy użyciu MFCMAPI, można usunąć. Błąd klienta Outlook, mówi niewiele o:

Nie można usunąć tego folderu. Kliknij folder prawym przyciskiem myszy, a następnie kliknij polecenie Właściwości, aby sprawdzić uprawnienia do tego folderu. Skontaktuj się z właścicielem folderu lub administratorem, aby zmienić swoje uprawnienia. Program Outlook synchronizuje lokalne zmiany wprowadzone do elementów w tym folderze. Nie można usunąć tego folderu, dopóki synchronizacja z serwerem nie zostanie zakończona

Aby sprawdzić i przywrócić integralność skrzynki, uruchomiono polecenie:

New-MailboxRepairRequest -Mailbox [email protected] -CorruptionType ProvisionedFolder, SearchFolder, AggregateCounts, Widok folderów

Po pomyślnym zakończeniu operacji przywracania (zdarzenie 10048 w dzienniku) uszkodzony folder w aplikacji sieci Web programu Outlook natychmiast zniknął, w programie Outlook, aby poprawnie wyświetlić pole „zaktualizowane”, konieczne było usunięcie lokalnej pamięci podręcznej (pliku ost).