Решил записать набор команд для частой процедуры импорта/экспорта в PST почтовых ящиков.
Большая часть материала взята отсюда
Предоставлению пользователю права на импорт PST в Exchange 2010 SP1
Первым шагом нам необходимо выдать нужному аккаунту право на импорт/экспорт PST файла в почтовый ящик. Для этого перейдем в Exchange Management Shell и выполним следующую команду:
New-ManagementRoleAssignment –Role "Mailbox Import Export" –User Administrator
Вы можете создать группу и назначить соответствующие привилегии для неё:
New-ManagementRoleAssignment –Role “Mailbox Import Export” –Group “MailboxAccessGroup”
Далее нам необходимо создать сетевой ресурс, в который мы поместим необходимые PST файлы. Основным условием является выдача прав записи/чтения группе Exchange Trusted Subsystem.
Экспорт почты в PST файл
New-MailboxExportRequest –Mailbox “sotrudnik@office.local” –Filepath “\\mail\F$\archive_pst\sotrudnik.pst”
Статус запроса
Get-MailboxExportRequest –Mailbox “sotrudnik@office.local"
Импорт PST файла
New-MailboxImportRequest -Mailbox sotrudnik -FilePath “\\mail\F$\archive_pst\sotrudnik.pst”
Статус запроса
Get-MailboxImportRequest -Mailbox sotrudnik
В некоторых случаях вы можете решить импортировать PST в подпапку почтового ящика. Для этого необходимо использовать параметр -TargetRootFolder.
New-MailboxImportRequest -FilePath “\\mail\F$\archive_pst\sotrudnik.pst” -Mailbox othersotrudnik -TargetRootFolder "Mailbox - SOTRUDNIK"
Вы можете посмотреть статус запроса импортирования с помощью командлета Get-MailboxImportRequest.
Перенаправив результат командлета Get-MailboxImportRequest в командлет Get-MailboxImportRequestStatistics вы можете просматривать прогресс выполнения запроса.
Get-MailboxImportRequest | Get-MailboxImportRequestStatistics
Когда запрос на импорт завершает работу он по прежнему остается на сервере до тех пор, пока администратор не удалит его с помощью командлета Remove-MailboxImportRequest.
Для просмотра всех завершенных запросов выполните следующую команду:
Get-MailboxImportRequest | where {$_.status -eq "Completed"}
Удалить все завершенные запросы можно следующей командой:
Get-MailboxImportRequest | where {$_.status -eq "Completed"} | Remove-MailboxImportRequest
Еще статьи про Exchange и PowerShell.