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
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ńczonaAby 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).