Импортиране и експортиране на пощенски кутии в .pst файлове в Exchange 2016/2013/2010

В Exchange Server 2010 SP1 (и по-нова версия) се появиха специални командлети PowerShell за импортиране / експортиране на съдържание на Exchange пощенски кутии от / до .pst файлове: нов-MailboxImportRequest и нов-MailboxExportRequest. В предишните версии на Exchange трябваше да използвате помощни програми на трети страни, за да импортирате / експортирате данни от Exchange в PST файлове (тази програма най-често се използва ExMerge, запознаване, с което никой администратор на Exchange не може да избяга).

В Exchange 2016, 2013 и Office 365 разработчиците разшириха функционалността на командлети за обмен за импортиране / експортиране в PST файлове, разширявайки функционалността донякъде и повишавайки тяхната производителност. В тази статия ще разгледаме типичните примери за импортиране / експортиране на данни от пощенски кутии на Exchange към файлове с лични папки (.pst)..

Съдържание:

  • Разрешения за импортиране или експортиране на данни в пощенските кутии на Exchange
  • New-MailboxImportRequest: Импортиране на имейли от .pst файл в пощенска кутия на Exchange
  • New-MailboxExportRequest: Експорт на Exchange пощенска кутия в PST архив

Разрешения за импортиране или експортиране на данни в пощенските кутии на Exchange

На акаунта, под който пощата се импортира или изнася от пощенската кутия на Exchange, трябва да му бъде възложена ролята на RBAC „Импорт на експорт на пощенска кутия“ (по подразбиране дори администраторът на Exchange няма тези права). Можете да предоставите тази роля на администратора на Exchange, като използвате Shell за управление на Exchange:

New-ManagementRoleAssignment -Role „Износ на импортиране на пощенска кутия“ -Потребител exch_admin_name

където обм_admin_името - име на акаунта, на който са предоставени правата.

съвет. За опростяване на администрацията, ролята пощенска кутия внос износ обикновено се причислява към група за сигурност на AD. Впоследствие, ако е необходимо да предоставите това право на друг потребител, ще бъде достатъчно да добавите неговия акаунт към тази група от домейни. Синтаксисът на командите в този случай е малко по-различен (да кажем, че името на групата AD е ExchangeAdmGroup):

New-ManagementRoleAssignment -Role „Импортиране на експорт на пощенска кутия“ -SecurityGroup ExchangeAdmGroup

Същото може да се направи и от графичния интерфейс. EAC (Exchange Admin Center), като зададете роля на желания потребител или група Експорт на импорт на пощенска кутия.

След предоставяне на права, трябва да рестартирате EAC или Exchange Management Shell.

New-MailboxImportRequest: Импортиране на имейли от .pst файл в пощенска кутия на Exchange

За да импортирате .pst файл в пощенска кутия на Exchange, освен да има права, е необходимо да са изпълнени следните условия:

  1. Трябва да съществува обменна целева пощенска кутия;
  2. PST файлът трябва да бъде поставен в споделена мрежова папка и да знае пълния път на UNC до него (не забравяйте, че локалният файл винаги може да бъде осъществен чрез мрежовия път във формат \\ PCName111 \ C $ \ PST \ tstmail.pst);
  3. Администратор, който извършва операцията по импортиране на писма в пощенска кутия на Exchange, трябва да има права за достъп до мрежовата директория, в която се съхранява PST файлът с пощенския архив.

Използвайки следната команда, стартирайте процеса на импортиране на съдържанието на .pst файла от папката на мрежата в най-използваната потребителска пощенска кутия.

New-MailboxImportRequest -Mailbox mailtst -FilePath \\ HQFS01 \ PST \ usetest.pst

При импортиране в целевата пощенска кутия съдържанието на съществуващите папки се обединява и се добавят нови папки към съществуващата структура на папките.

Съдържанието на PST файла може да бъде импортирано не в корена на пощенската кутия на Exchnage, а в една от съществуващите папки на пощенската кутия (например „Import_mail“). Например, трябва да импортираме от PST само съдържанието на папката Входящи (Входяща кутия), като го копирате в папката на пощенската кутия на Exchange с име Import_mail:

New-MailboxImportRequest -Mailbox mailtst -FilePath \\ HQFS01 \ PST \ usetest.pst -TargetRootFolder "Old_mail" -IncludeFolders "# Inbox #"

съвет. Пълен списък на стандартните имена на папки на Exchange Exchange:

  • Входящи
  • SentItems
  • DeletedItems
  • календар
  • Контакти
  • дама
  • списание
  • Задачи
  • бележки
  • JunkEmail
  • CommunicationHistory
  • Гласова поща
  • факс
  • конфликти
  • SyncIssues
  • LocalFailures
  • ServerFailures

След като се изпълни командата за импортиране, заявката е поставена на опашка за обработка от Exchange сървъра (обработката се извършва на сървър с ролята на клиентския сървър за достъп). За да видите съдържанието на опашката за импортиране на задачи, изпълнете командата:

Get-MailboxImportRequest

Състоянието на заданието за импортиране (InProgress, Completed, Queued) за конкретна пощенска кутия на Exchnage може да бъде установено, както следва:

Get-MailboxImportRequest mailtst

За да получите информация за състоянието на изпълнението на заявката за импортиране в проценти, изпълнете командата:

Get-MailboxImportRequest | Get-MailboxImportRequestStatistics

Завършените заявки за импортиране могат да бъдат премахнати от текущата опашка с помощта на командата:

Get-MailboxImportRequest -Status Завършен | Remove-MailboxImportRequest

За масово импортиране на данни от PST файлове в множество потребителски пощенски кутии можете да използвате следната команда (приема се, че имената на pst файловете съответстват на имената на потребителските кутии):

Foreach ($ i in (Get-Mailbox)) New-MailboxImportRequest -Mailbox $ i -FilePath "\\ HQFS01 \ PST \ $ ($ i.Alias) .pst"

Ако процесът на импортиране не успее, по-подробна информация за причините за това може да бъде получена от генерирания отчет, както следва:

Get-MailboxImportRequest -Status Failed | Get-MailboxImportRequestStatistics -IncludeReport | Формат-списък> FullImportReports.txt

В повечето случаи грешките при импортиране възникват поради:

  • Логически повреди в структурата на PST файлове (как да възстановим pst файлове с помощта на вградените инструменти);
  • Ако размерът на кутията надвишава определените граници.

Можете да зададете ограничение за броя на лошите елементи на PST файлове, които могат да бъдат пропуснати по време на експортиране. Следващата команда ще импортира данни от PST файла в пощенската кутия и ще пропусне първите десет лоши елемента, преди да генерира грешка при импортиране:

New-MailboxImportRequest -Mailbox mailtst -FilePath \\ HQFS01 \ PST \ usetest.pst -BadItemLimit 10

New-MailboxExportRequest: Експорт на Exchange пощенска кутия в PST архив

Процедурата за експортиране на съдържанието на пощенска кутия на Exchange е подобна на импортирането. За да експортирате съдържанието на полето в PST файл, използвайте командлета нов-MailboxExportRequest. За да експортирате най-важната потребителска пощенска кутия в мрежова папка (директорията трябва да бъде създадена предварително и да има разрешения за четене и запис за групата от домейни обмен Trusted подсистема) изпълнете тази команда:

New-MailboxExportRequest -Mailbox mailtst -FilePath \\ HQFS01 \ ExportPST \ mailtst.pst

Ако искате да качите само писма от конкретна папка, например Inbox (Inbox), в PST файл, командата ще изглежда така:

New-MailboxExportRequest -Mailbox mailtst -FilePath \\ HQFS01 \ ExportPST \ mailtst.pst -IncludeFolders „# Inbox #“

За да изключите папка от разтоварване, използвайте параметъра ExcludeFolders. Например, не е необходимо да експортирате изтрити елементи в PST файл:

New-MailboxExportRequest -Mailbox mailtst -FilePath \\ HQFS01 \ ExportPST \ mailtst.pst - Изключете папки „# DeletedItems #“

Помислете за по-сложна задача: да предположим, че искате да разтоварите от пощенската кутия всички писма, получени след 1 януари 2019 г., съдържащи ключовите думи „MSProject“ и „Москва“ в основната част на писмото.

New-MailboxExportRequest -Mailbox mailtst -FilePath \\ HQFS01 \ ExportPST \ mailtst.pst -ContentFilter (body-like “* MSProject *”) -и body-like “* Москва *”) -and (Получено -gt “01 / 01/2019 ”)

Можете също да експортирате данни само от конкретна папка с резултати от търсенето в пощенска кутия, получени с помощта на командлета Search-Mailbox.

Заданието за експортиране също е поставено на опашка на сървъра на Exchange. За да проверите състоянието на експортно задание, изпълнете командата:

Get-MailboxExportRequest -Mailbox "mailtst" | Формат-Списък

RunspaceId: 2623f0d3-1b4b-4610-b0a2-6f29a077cc54
FilePath: \\ HQFS01 \ ExportPST \ mailtst.pst
SourceDatabase: db1
Пощенска кутия:
Име: MailboxExport
RequestGuid: e03de23f-4376-424a-95fa-53faaf97ebf9
Опашка за заявка: db1
Флагове: IntraOrg, Push
BatchName:
Статус: Завършен
Защита: Неверни
Суспендиране: Неверно
Посока: Натиснете
RequestStyle: IntraOrg
OrganizationId:
Идентичност: mailtst \ MailboxExport
IsValid: Вярно
ObjectState: Ново

Не забравяйте периодично да почиствате успешно изпълнени заявки за експортиране на пощенски кутии в PST файлове:

Get-MailboxExportRequest -Статус завършен | Remove-MailboxExportRequest

Когато експортирате данни от пощенска кутия в PST файл, съдържанието на потребителска пощенска кутия на Exchange сървъра не се изчиства.

Можете да разтоварвате кутии на множество потребители. Създайте текстов файл в следния формат:

Потребителско име, UNCPathtoPst
aaivanov, \\ HQFS01 \ ExportPST \ aaivanov.pst
ebpetrov, \\ HQFS01 \ ExportPST \ ebpetrov.pst

Изпълнете експортирането на потребителски полета в PST файлове:

Импортиране-CSV "C: \ ps \ user_to_export_pst.csv" | ForEach New-MailboxExportRequest -Mailbox $ _. Потребителско име -FilePath $ _. UNCPathtoPst