В 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, освен да има права, е необходимо да са изпълнени следните условия:
- Трябва да съществува обменна целева пощенска кутия;
- PST файлът трябва да бъде поставен в споделена мрежова папка и да знае пълния път на UNC до него (не забравяйте, че локалният файл винаги може да бъде осъществен чрез мрежовия път във формат \\ PCName111 \ C $ \ PST \ tstmail.pst);
- Администратор, който извършва операцията по импортиране на писма в пощенска кутия на 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 #"
- Входящи
- 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 ”)
Заданието за експортиране също е поставено на опашка на сървъра на 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
Можете да разтоварвате кутии на множество потребители. Създайте текстов файл в следния формат:
Потребителско име, 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