W Exchange Server 2010 SP1 (i nowszych) pojawiły się specjalne polecenia cmdlet PowerShell do importowania / eksportowania zawartości skrzynki pocztowej Exchange z / do plików .pst: Nowy-MailboxImportRequest i Nowy-MailboxExportRequest. W poprzednich wersjach programu Exchange do importowania / eksportowania danych z programu Exchange do plików PST trzeba było używać narzędzi innych firm (narzędzie było najczęściej używane Exmerge, znajomość, z którą żaden administrator Exchange nie mógł uciec).
W programach Exchange 2016, 2013 i Office 365 programiści rozszerzyli funkcjonalność poleceń cmdlet Exchange do importu / eksportu do plików PST, nieco rozszerzając funkcjonalność i zwiększając ich wydajność. W tym artykule przyjrzymy się typowym przykładom importu / eksportu danych ze skrzynek pocztowych Exchange do plików folderów osobistych (.pst)..
Treść
- Uprawnienia do importowania lub eksportowania danych do skrzynek pocztowych Exchange
- New-MailboxImportRequest: Importuj wiadomości e-mail z pliku .pst do skrzynki pocztowej Exchange
- New-MailboxExportRequest: Eksportuj skrzynkę Exchange do archiwum PST
Uprawnienia do importowania lub eksportowania danych do skrzynek pocztowych Exchange
Konto, na którym poczta jest importowana lub eksportowana ze skrzynki pocztowej Exchange, musi mieć przypisaną rolę RBAC „Mailbox Import Export” (domyślnie nawet administrator Exchange nie ma tych uprawnień). Możesz przekazać tę rolę administratorowi Exchange przy użyciu powłoki Exchange Management Shell:
Nowe-ManagementRoleAssignment -Rola „Eksportowanie importu skrzynki pocztowej” -Użytkownik nazwa_administratora Exchange
Gdzie wym_admin_nazwa - nazwa konta, któremu przyznane są prawa.
Wskazówka. Aby uprościć administrację, rola Skrzynka pocztowa Importuj Eksportuj zwykle przypisywane do grupy zabezpieczeń AD. Następnie, jeśli konieczne będzie przyznanie tego prawa innemu użytkownikowi, wystarczy dodać jego konto do tej grupy domen. Składnia polecenia w tym przypadku jest nieco inna (powiedzmy, że nazwa grupy AD to ExchangeAdmGroup):Nowe-ManagementRoleAssignment -Rola „Eksportowanie importu skrzynki pocztowej” -SecurityGroup ExchangeAdmGroup
To samo można zrobić z interfejsu graficznego. Eac (Exchange Admin Center), przypisując rolę pożądanemu użytkownikowi lub grupie Eksport importu skrzynki pocztowej.
Po przyznaniu uprawnień należy ponownie uruchomić EAC lub Exchange Management Shell.
New-MailboxImportRequest: Importuj wiadomości e-mail z pliku .pst do skrzynki pocztowej Exchange
Aby zaimportować plik pst do skrzynki pocztowej programu Exchange, oprócz uprawnień, konieczne jest spełnienie następujących warunków:
- Docelowa skrzynka pocztowa Exchange musi istnieć;
- Plik PST musi zostać umieszczony we współdzielonym folderze sieciowym i znać pełną ścieżkę UNC do niego (nie zapominaj, że do pliku lokalnego można zawsze uzyskać dostęp za pośrednictwem ścieżki sieciowej w formacie \\ PCName111 \ C $ \ PST \ tstmail.pst);
- Administrator, który wykonuje operację importowania listów do skrzynki pocztowej Exchange, musi mieć prawa dostępu do katalogu sieciowego, w którym przechowywany jest plik PST z archiwum poczty.
Za pomocą następującego polecenia rozpocznij proces importowania zawartości pliku .pst z folderu sieciowego do skrzynki pocztowej użytkownika usetest.
New-MailboxImportRequest -Mailbox mailtst -FilePath \\ HQFS01 \ PST \ usetest.pst
Podczas importowania do docelowej skrzynki pocztowej zawartość istniejących folderów jest scalana, a nowe foldery są dodawane do istniejącej struktury folderów pocztowych.
Zawartość pliku PST można zaimportować nie do katalogu głównego skrzynki pocztowej Exchnage, ale do jednego z istniejących folderów skrzynki pocztowej (na przykład „Import_mail”). Na przykład musimy zaimportować z pliku PST tylko zawartość folderu Skrzynka odbiorcza (Skrzynka odbiorcza), kopiując go do folderu skrzynki pocztowej Exchange o nazwie Import_mail:
New-MailboxImportRequest -Mailbox mailtst -FilePath \\ HQFS01 \ PST \ usetest.pst -TargetRootFolder „Old_mail” -IncludeFolders "# Inbox #"
- Skrzynka odbiorcza
- SentItems
- Usunięte elementy
- Kalendarz
- Kontakty
- Rzemiosło
- Journal
- Zadania
- Notatki
- JunkEmail
- CommunicationHistory
- Poczta głosowa
- Faks
- Konflikty
- Syncisssues
- Localfailures
- Awarie serwera
Po uruchomieniu polecenia importu żądanie jest umieszczane w kolejce do przetworzenia przez serwer Exchange (przetwarzanie jest wykonywane na serwerze z rolą Server Access Server). Aby zobaczyć zawartość kolejki zadań importu, uruchom polecenie:
Get-MailboxImportRequest
Status zadania importu (InProgress, Completed, Queued) dla określonej skrzynki pocztowej Exchnage można znaleźć w następujący sposób:
Get-MailboxImportRequest mailtst
Aby uzyskać informacje o stanie wykonania żądania importu w procentach, uruchom polecenie:
Get-MailboxImportRequest | Get-MailboxImportRequestStatistics
Zrealizowane żądania importu można usunąć z bieżącej kolejki za pomocą polecenia:
Get-MailboxImportRequest -Status Completed | Remove-MailboxImportRequest
Aby zbiorczo zaimportować dane z plików PST do wielu skrzynek pocztowych użytkowników, możesz użyć następującego polecenia (zakłada się, że nazwy plików pst odpowiadają nazwom skrzynek użytkowników):
Foreach ($ i w (Get-Mailbox)) New-MailboxImportRequest -Mailbox $ i -FilePath "\\ HQFS01 \ PST \ $ ($ i.Alias) .pst"
Jeśli proces importowania się nie powiedzie, bardziej szczegółowe informacje o jego przyczynach można uzyskać z raportu wygenerowanego w następujący sposób:
Get-MailboxImportRequest -Status Failed | Get-MailboxImportRequestStatistics -IncludeReport | Format-List> FullImportReports.txt
W większości przypadków błędy importu występują z powodu:
- Logiczne uszkodzenie struktury plików PST (jak odzyskać pliki pst za pomocą wbudowanych narzędzi);
- Jeśli rozmiar pudełka przekracza określone limity.
Możesz określić limit liczby złych elementów plików PST, które można pominąć podczas eksportu. Następujące polecenie zaimportuje dane z pliku PST do skrzynki pocztowej i pominie pierwsze dziesięć złych elementów przed wygenerowaniem błędu importu:
New-MailboxImportRequest -Mailbox mailtst -FilePath \\ HQFS01 \ PST \ usetest.pst -BadItemLimit 10
New-MailboxExportRequest: Eksportuj skrzynkę Exchange do archiwum PST
Procedura eksportowania zawartości skrzynki pocztowej Exchange jest podobna do importowania. Aby wyeksportować zawartość pudełka do pliku PST, użyj polecenia cmdlet Nowy-MailboxExportRequest. Aby wyeksportować skrzynkę pocztową użytkownika mailtst do folderu sieciowego (katalog musi zostać wcześniej utworzony i ma uprawnienia do odczytu i zapisu dla grupy domen Wymiana Zaufany Podsystem) uruchom następujące polecenie:
New-MailboxExportRequest -Mailbox mailtst -FilePath \\ HQFS01 \ ExportPST \ mailtst.pst
Jeśli chcesz przesłać tylko litery z określonego folderu, na przykład Skrzynka odbiorcza (Skrzynka odbiorcza), do pliku PST, polecenie będzie wyglądać następująco:
New-MailboxExportRequest -Mailbox mailtst -FilePath \\ HQFS01 \ ExportPST \ mailtst.pst -IncludeFolders „# Inbox #”
Aby wykluczyć folder ze zwalniania, użyj parametru ExcludeFolders. Na przykład nie musisz eksportować usuniętych elementów do pliku PST:
New-MailboxExportRequest -Mailbox mailtst -FilePath \\ HQFS01 \ ExportPST \ mailtst.pst - Wyklucz foldery „# Usunięte elementy #”
Rozważ bardziej złożone zadanie: załóżmy, że chcesz rozładować ze skrzynki pocztowej wszystkie listy otrzymane po 1 stycznia 2019 r. Zawierające słowa kluczowe „MSProject” i „Moskwa” w treści listu.
New-MailboxExportRequest -Mailbox mailtst -FilePath \\ HQFS01 \ ExportPST \ mailtst.pst -ContentFilter (podobny do ciała „* MSProject *”) -i podobny do ciała „* Moskwa *”) -i (otrzymano -gt „01 / 01/2019 ”)
Zadanie eksportu jest także umieszczone w kolejce na serwerze Exchange. Aby sprawdzić status zadania eksportu, uruchom polecenie:
Get-MailboxExportRequest -Mailbox "mailtst" | Lista formatów
RunspaceId: 2623f0d3-1b4b-4610-b0a2-6f29a077cc54
FilePath: \\ HQFS01 \ ExportPST \ mailtst.pst
SourceDatabase: db1
Skrzynka pocztowa:
Nazwa: MailboxExport
RequestGuid: e03de23f-4376-424a-95fa-53faaf97ebf9
RequestQueue: db1
Flagi: IntraOrg, Push
Nazwa partii:
Status: zakończony
Protect: False
Zawieś: Fałsz
Kierunek: Push
RequestStyle: IntraOrg
Organizacji:
Tożsamość: mailtst \ MailboxExport
IsValid: True
ObjectState: nowy
Nie zapomnij okresowo czyścić pomyślnie wykonanych żądań eksportu skrzynek pocztowych do plików PST:
Get-MailboxExportRequest -Status Completed | Remove-MailboxExportRequest
Możesz zbiorczo rozładować skrzynki wielu użytkowników. Utwórz plik tekstowy w następującym formacie:
Nazwa użytkownika, UNCPathtoPst
aaivanov, \\ HQFS01 \ ExportPST \ aaivanov.pst
ebpetrov, \\ HQFS01 \ ExportPST \ ebpetrov.pst
Uruchom eksport skrzynek użytkownika do plików PST:
Import-CSV „C: \ ps \ user_to_export_pst.csv” | ForEach New-MailboxExportRequest -Mailbox $ _. Nazwa użytkownika -FilePath $ _. UNCPathtoPst