Копирование файлов exchange 16
При отключении почтового ящика он хранится в специальной «директории» «отключенные почтовые ящики» — в течение срока хранения удалённых почтовых ящиков, такой ящик можно спокойно подключить обратно либо подключить его новому пользователю.
По истечении срока хранения отключенного почтового ящика такой ящик удаляется безвозвратно.
Подключение отключенного ящика:
ECP — recipients — mailboxes — нажать три точки — Connect a mailbox
Открывшаяся страница показывает отключенные почтовые ящики по конкретному серверу.
Отключенного почтового ящика может не быть в списке в двух случаях:
- Если отключили почтовый ящик, в который никто никогда не заходил и в который не отправляли почту. Пустые ящики в Disconnected mailbox не хранятся.
- Часто случается ситуация, что с момента отключения ящика до момента, когда он появится в списке отключенных проходит какое-то время — это связано с обновлением кэша в БД. Чтобы не ждать, существует специальный скрипт:
Так же в свойствах БД есть отдельная опция «Хранить удалённые элементы до тех пор, пока не создана резервная копия»: вкладка limits — Don’t permanently delete items until the database is backed up.
Если поставить эту галку — удалённые элементы и почтовые ящики не удалятся автоматически, даже если срок хранения прошёл, до тех пор, пока не будет сделан бэкап БД. Т.е. пока Exchange не увидит, что копия БД сделана — он не будет удалять элементы.
Базы данных.
Существует множество приложений для организации резервного копирования. Родным приложением для Exchange Server является приложение Windows Server Backup, которое входит в состав Windows Server.
Основным недостатком Windows Server Backup является то, что при восстановлении придётся выполнять большое количество операция в PowerShell’е, а аналоги позволяют делать это в GUI.
Но, в принципе, WSB хватает для резервного копирования.
Если сервер один — рекомендуется делать резервные копии БД раз в 2-3 дня. Если серверов несколько и собран кластер — бэкап можно делать раз в 10-12 дней. Это связано с тем что, по-умолчанию, срок хранения удалённых элементов 14 дней и резервные копии необходимо делать чаще, чем срок хранения.
WSB умеет сохранять резервные копии либо на локальный диск, либо на сетевую шару. На кассеты не умеет.
При использовании Windows Server Backup есть тонкий момент: при резервном копировании БД Exchange необходимо выбирать весь диск целиком, а не папку с БД.
Если необходимо чтобы усекались транзакционные логи — тогда в разделе «Advanced Settings» мастера создания резервной копии WSB необходимо выбрать пункт VSS Settings — VSS full Backup. Если оставить пункт VSS copy Backup — резервные копии выполняться будут, но транзакционные логи усекаться не будут.
Узнать, проводилось резервное копирование базы данных или нет, можно простой командой в PowerShell:
Восстановление базы данных
Восстановление БД из резервной копии довольно тривиальная операция.
В WSB выбрать пункт Recovery, выбрать в открывшемся календаре дату, на которую хотим восстановить БД (при условии, что в эту дату была резервная копия. Доступные даты выделены полужирным шрифтом).
Далее важный момент — восстанавливаем приложение (Applications), не файлы и папки, а приложение.
Далее выбираем куда восстанавливаем и жмём восстановить.
Dial Tone Recovery
Существует ещё один сценарий восстановления, называется Dial Tone Recovery — это восстановление работы сервиса до того, как мы восстановим данные.
К примеру: в 9 утра упала БД объёмом 1 ТБ. Понятно, что БД в 1 терабайт быстро не восстановить, надо подготовить диски, надо вспомнить как это делается и само восстановление 1 ТБ информации быстро не выполняется. Dial Tone Recovery позволяет нам восстановить работу сервиса без восстановления информации.
Один из вариантов: создать новую БД и перекинуть туда пользователей. Пока восстанавливаем БД. У пользователей будут пустые ящики, но они смогут работать.
После восстановления потерянной БД мы перекидываем пользователей обратно и выполняем слияние баз данных.
Как это делается:
Создаём новую БД:
Ждём пока БД создастся и примонтируется.
Но у пользователей в конфигурации прописано что их почтовые ящики находятся в БД, которая сейчас недоступна. Переместить почтовые ящики из одной БД в другую мы не можем, т.к. исходная БД с ящиками не доступна.
Как прописать в конфигурации пользователей что их ящики находятся в другой БД:
Выбираем все почтовые ящики, находящиеся в исходной БД, которая потеряна и для каждого почтового ящика правим параметр Database, указав новую базу данных.
В этом случае, с точки зрения конфигурации, Exchange пройдётся по всем почтовым ящикам из потерянной БД (MailboxDB) и заменит в них информацию о местонахождении почтового ящика на новую базу данных (TempDB).
Клиенты смогут подключиться к ящикам. Да, там будет пусто, но они смогут работать.
К слову, командлет Get-Mailbox -Database «TempDB» — покажет какие почтовые ящики находятся в БД TempDB1, но это информация из конфигурации.
Get-MailboxStatistics — Database «TempDB» — показывает какие почтовые ящики есть в БД TempDB реально.
После того, как перепрописали в конфигурации местонахождение почтовых ящиков на сервере необходимо перезапустить службу Microsoft Exchange Information Store. Иначе пользователи будут по-прежнему пытаться подключиться к старой БД:
Теперь восстанавливаем упавшую базу данных.
Не забываем перезапустить службу Mailbox Information Store.
Если почтовые ящики всё равно не доступны (иногда бывает) — необходимо перезапустить web-сервер — можно сделать командой iisreset — это необходимо делать потому, что web-сервер запомнил кто куда подключался и по-прежнему пытается подключиться к старой БД.
Слияние баз данных
Перенос писем, которые пользователи создали за время восстановления основной БД начинается с того, что необходимо удалить временную базу данных.
Необходимо помнить, что удаление базы данных через шелл, либо через web не удаляет файлы базы данных, БД удаляется только в конфигурации.
Для переноса новых писем в основную БД нам необходим только сам файл с базой данных (DBName.edb).
Далее необходимо создать специальную служебную базу данных Recovery. Такая БД нужна исключительно для того, чтобы из неё что-то достать:
Путь должен быть к реальному файлу БД, из которой мы хотим достать письма или ящики. Далее мы её монтируем.
Командлет Get-MailboxDatabse покажет нам что в поле Recovery напротив этой нашей БД стоит ключ True — это значит что в этой базе создать почтовый ящик не получится, эта БД исключительно для восстановления.
Восстанавливаем с помощью специального командлета:
Отслеживание информации по восстановлению:
Get-MailboxRestoreRequest —выводит статус запроса
Get-MailboxRestoreRequest |Get-MailboxRestoreRequestStatistics — выводит более подробную информацию по всем запросам на восстановление с процентом выполнения.
Иногда случается так. Что процесс восстановления зависает. В таком случае достаточно перезапустить процесс Microsoft Exchange Mailbox Replication.
После восстановления всех писем БД Recovery можно отмонтировать и удалить, она больше не нужна.
Этот метод бывает полезен когда необходимо восстановить определённые письма месячной давности (при условии, что есть бэкап) без восстановления всей БД и прозрачно для пользователей.
Восстановление сервера
Делать резервную копию сервера целиком не обязательно, т.к. конфигурация сервера хранится в AD. Т.е. если помер сервер — конфигурация сохраняется в целости.
Ещё на сервере есть БД, но их бекапим отдельно.
Т.е. если упадёт сервер мы теряем:
- Сертификат
- Логи (транспортные и системные, прочие)
Для восстановления сервера после падения существует специальная процедура — Восстановление сервера. Выполнить процедуру можно примерно за час + время на восстановление баз данных.
Если нет этого времени (т.е. бизнес не позволяет так долго быть без почты) — в этом случае необходимо использовать кластеризацию, желательно и DAG.
Процедуру восстановления сервера можно проводить на любом оборудовании, не обязательно чтобы сервер был идентичен старому. Но версия операционной системы должна быть та же самая, что и на старом сервере!
Порядок восстановления сервера Exchange
- Подготовка нового сервера или виртуальной машины (после установки ОС сервер не включаем в домен и ставим все необходимые пререквезиты, обновления), так же серверу необходимо дать то же имя, что и у старого сервера и, желательно, тот же IP-адрес (опционально, так удобнее);
- Пока ставится ОС — выполняем сброс объекта компьютера сервера Exchange (в AD находим объект компьютера сервера Exchange — ПКМ — reset account), теперь можно вводить новый сервер в домен. Если не сбрасывать объект и сразу ввести компьютер в домен — старый объект будет перезаписан новым с новым SID’ом и восстановить сервер уже не получится;
- Восстановление файлов баз данных (файлы БД должны находиться по тем же путям, что и на старом сервере)
- Запуск процесс установки Exchange в режиме Recovery (важно чтобы дистрибутив был той же версии, что и на старом сервере, вплоть до накопительных обновлений, т.е. если был Exchange Server 2016 CU1, то и восстанавливать надо такой же). Запуск установки с ключом Recovery установит Exchange Server, взяв конфигурацию упавшего сервера из AD ;
- Восстановление сертификата Exchange, либо установка нового сертификата;
- Проверка работоспособности;
Пререквезиты можно взять на technet’е Microsoft по запросу Exchange Server 2016 iis prereq
Так же необходимо заранее установить Unified Communications Managed API (качается по названию с офф.сайта)
Ещё раз: необходимо обязательно сбросить УЗ компьютера в AD перед вводом нового сервера в домен! Иначе придётся строить сервер Exchange с нуля.
Для установки сервера Exchange в режиме восстановления нам необходимо в PowerShell попасть на диск с дистрибутивом и запустить установку:
Теперь установщик инсталлирует нам сервер Exchange ровно в той конфигурации, которая была на старом сервере. Это возможно за счёт того, что мы подготовили сервер с тем же именем и сбросили УЗ компьютера в AD.
Процедура Recovery, при условии, что всё сделано правильно, достаточно безопасна и не ведёт к потере данных.
Первое подключение к ecp достаточно долгое, т.к. в iis идёт инициализация пулов…
Т.к. коннекторы отправки/получения при восстановлении создались такие же, как были на упавшем сервере и, при условии, что IP-адрес не менялся — почта должна ходить нормально.
Резервное копирование Active Directory — обязательная часть резервного копирования почтовой системы! Вся информация о пользователях, базах данных и сервере хранится в AD!
В предпочитаемой архитектуре Майкрософт для Exchange Server используется концепция, известная как Exchange native data Protection. Защиту собственных данных Exchange обеспечивают нативные функции Exchange, которые служат для защиты данных почтового ящика и заменяют традиционные функции резервного копирования. Чтобы создать резервные копии, можно воспользоваться подключаемым модулем Exchange для системы архивации данных Windows Server (WSB). Этот модуль позволяет создавать резервные копии данных Exchange с помощью службы теневого копирования томов (VSS), но требует установки WSB.
Подключаемый модуль WSBExchange.exe запускается в качестве службы, которую можно определить как серверное расширение Microsoft Exchange для системы архивации данных Windows Server. (Краткое название службы WSBExchange.) Эта служба автоматически устанавливается и настраивается на ручной запуск на всех серверах почтовых ящиков. Этот модуль позволяет системе архивации данных Windows Server создавать резервные копии Exchange с помощью службы теневого копирования томов.
Прежде чем приступить к резервному копированию данных Exchange с помощью системы архивации данных Windows Server, рекомендуется ознакомиться с приведенной ниже информацией о функциях и параметрах этого подключаемого модуля.
Резервное копирование, которое выполняется с помощью WSB, выполняется на уровне громкости, и единственный способ выполнить резервное копирование или восстановление на уровне приложений — это выбрать весь том. Чтобы сделать базу данных и ее поток журналов, необходимо сделать личные записи всего тома, содержащего базу данных и журналы, а не только отдельные папки. Вы не сможете сделать личные данные без хранения всего тома, содержащего данные.
Необходимо запустить систему архивации данных локально на сервере, для которого выполняется архивация. Невозможно создавать удаленные архивы службы теневого копирования томов с помощью подключаемого модуля. В системе архивации данных Windows Server и подключаемом модуле отсутствует функция удаленного администрирования. Однако удаленно управлять архивацией можно с помощью служб удаленных рабочих столов (или служб терминалов).
Архив можно создать на локальном диске или в удаленном общем сетевом ресурсе.
Можно создавать только полные резервные копии. Усечение журналов выполняется только после успешного создания с помощью VSS полного архива тома или папок, содержащих базу данных Exchange.
При восстановлении данных можно восстанавливать только данные Exchange. Данные можно восстанавливать как в исходное местоположение, так и в другое место. При восстановлении данных в исходное расположение система архивации данных Windows Server и подключаемый модуль автоматически выполняют процесс восстановления, в том числе отключают существующую базу данных и воспроизводят журналы в восстановленной базе данных.
Базы данных восстановления Exchange (RDB) не подлежат восстановлению. Чтобы воспользоваться RDB, необходимо восстановить данные в другое расположение, а затем вручную скопировать или переместить восстановленные данные из этого расположения в структуру папки RDB.
При восстановлении Exchange данных необходимо восстановить все базы данных. Невозможно восстановить отдельную базы данных.
Восстановление голого металла поддерживается при использовании WSB. Однако рекомендуемый метод восстановления для Exchange серверов заключается в восстановлении Exchange сервера и восстановлении данных. Если вы используете сторонное приложение резервного копирования (например, не microsoft), поддержка восстановления голого металла Exchange может быть доступна у поставщика резервных приложений.
В следующей таблице описывается поддержка вариантов резервного копирования и восстановления, доступных для Exchange Server с WSB.
Если. | Затем. |
---|---|
Back up the full server. | Резервное копирование с помощью службы VSS будет выполнено без усечения журналов транзакций для баз данных на сервере. |
Выполните настраиваемую резервную копию и выберите один или несколько томов для резервного копирования. | Резервное копирование с помощью службы VSS будет выполнено с усечением журналов транзакций для баз данных в выбранных томах после завершения процесса. |
Выполните настраиваемую резервную копию и выберите одну или несколько папок для резервного копирования. | Резервное копирование с помощью службы VSS будет выполнено с усечением журналов транзакций для баз данных. Однако восстановление резервных копий сведется к восстановлению отдельных файлов, так как параметр восстановления на уровне приложения будет недоступен. |
Дополнительные сведения о резервном копировании данных Exchange с помощью системы архивации данных Windows Server см. в разделе Использование системы архивации данных Windows Server для резервного копирования в Exchange.
Дополнительные сведения о восстановлении данных из резервной копии, созданной с помощью системы архивации данных Windows Server, см. в разделе Восстановление резервной копии данных Exchange с помощью системы архивации данных Windows Server.
Microsoft Exchange Server использует концепцию мобильности баз данных, которая Exchange-управляемых сбойов на уровне баз данных. Функция мобильности баз данных устраняет привязку баз данных к серверам, обеспечивает поддержку до 16 копий одной базы данных и предлагает собственную систему добавления копий базы данных.
Права доступа для импорта или экспорта данных в ящики Exchange
Учетной записи, под которой выполняется импорт или экспорт писем из почтового ящика Exchange, должна быть назначена RBAC роль “Mailbox Import Export” (по-умолчанию этими правами не обладает даже администратор Exchange). Вы можете предоставить администратору Exchange данную роль с помощью Exchange Management Shell:
New-ManagementRoleAssignment –Role “Mailbox Import Export” –User exch_admin_name
Где exch_admin_name – имя учетной записи, которой предоставляются права.
Совет. Для упрощения администрирования роль Mailbox Import Export обычно назначается на группу безопасности AD. Впоследствии, если необходимо предоставить данное право другому пользователю, достаточно будет добавить его учетную запись в эту доменную группу. Синтаксис команды в этом случае немного другой (допустим имя группы AD — ExchangeAdmGroup):
New-ManagementRoleAssignment -Role "Mailbox Import Export" -SecurityGroup ExchangeAdmGroup
Тоже самое можно сделать и из графического интерфейса EAC (Exchange Admin Center), назначив нужному пользователю или группе роль Mailbox Import Export.
После предоставления прав консоль EAC или Exchange Management Shell нужно перезапустить.
Управление перемещением ящиков Exchange с помощью PowerShell
Чтобы узнать, в какой почтовой базе находится ящик пользователя, запустите Exchange Management Shell и выполните команду:
Get-Mailbox aaivanov| Format-List Database
В этом примере ящик пользователя находится в базе DB01.
Для создания локального запроса на перенос ящика используется командлет New-MoveRequest. Например:
New-MoveRequest -Identity aaivanov -TargetDatabase "MBX01" –BadItemLimit 10
Кроме имени пользователя важные параметры это:
- TargetDatabase – имя целевой почтовой базы, в которую нужно переместить ящик;
- BadItemLimit – количество поврежденных элементов в ящике, которое можно пропустить (игнорировать) при переносе ящике.
Если указать BadItemLimit 0, значит при наличии хотя бы одного поврежденного элемента, ящик не будет перемещен и останется в исходной базе. Если вы указали значение BadItemLimit > 50, нужно дополнительно указывать ключ AcceptLargeDataLoss.
Для переноса всех ящиков из одной почтовой базы Exchange в другую, используйте команду:
Get-Mailbox -Database DB01 -ResultSize Unlimited | New-MoveRequest -TargetDatabase DB02
Get-Mailbox -Database DB01 -Arbitration | New-MoveRequest -TargetDatabase DB02
В конфигурационном файле MSExchangeMailboxReplication.exe.config (C:\Program Files\Microsoft\Exchange Server\V15\Bin) можно изменить настройки миграции ящиков. Например, вы можете указать сколько одновременных операций перемещения поддерживается для одной базы или сервера. Это параметры MaxActiveMovesPerSourceMDB, MaxActiveMovesPerTargetMDB, MaxActiveMovesPerSourceServer, MaxActiveMovesPerTargetServer.
В зависимости от размер ящика и местоположения целевого сервера, его перенос может занять длительное время. Для отслеживания статуса миграции почтового ящика в % используется командлет Get-MoveRequestStatistics.
Get-MoveRequestStatistics -Identity aaivanov
В данном примере статус переноса — InProgress, процент завершения (PercentComplete) – 26%.
Можно вывести статус всех запросов на перемещения ящиков в организации:
После того, как перенос завершен, значение PercentComplete достигнет 100, а статус переноса изменится на Completed.
Get-MoveRequest | where | Get-MoveRequestStatistics | ft -a displayname,status*,percent
Вывести все ящики в процессе перемещения или ожидания в очереди:
Get-MoveRequest -movestatus inprogress
Get-MoveRequest -movestatus queued
Если при переносе произошла ошибка, можно вывести ее командой:
Get-MoveRequest aaivanov | Get-MoveRequestStatistics | fl *failure*, message
Для получения подробной информации об ошибках миграции ящиков, используйте:
Get-MoveRequest -resultsize unlimited | Where-Object | Get-MoveRequestStatistics -IncludeReport | select DisplayName, Message, FailureType, FailureSide, FailureTimeStamp, *bad*, *large*, Report, Identity | fl
Если нужно отменить перемещение ящика, выполните:
Remove-MoveRequest -Identity aaivanov
Чтобы удалить успешно завершенные запросы на перемещение (без этого вы не сможете перенести этот ящик в следующий раз), выполните:
Get-MoveRequest -MoveStatus Completed | Remove-MoveRequest
Перемещения почтовых ящиков с помощью Exchange Admin Center
С помощью Exchange Admin Center вы можете переместить один или несколько ящиков пользователей.
Я сам практически не пользуюсь возможностями перемещения ящиков через EAC, т.к. с помощью PowerShell можно выполнить эти действия гораздо удобнее и быстрее.
Пакетный перенос ящиков в Exchange
Для более удобного отслеживания перемещения ящиков можно использовать параметр –BatchName. Например, чтобы перенести все ящики из одной почтовой базы в другую в пакетном режиме, выполните:
Get-Mailbox -Database DB01 | New-MoveRequest -TargetDatabase DB02 -BatchName DB01toDB02Move20200915
Теперь, чтобы получить статус миграции всех ящиков в этом пакете нужно указать его имя:
Get-MoveRequest -BatchName DB01toDB02Move20200915| Get-MoveRequestStatistics
Так вы сможете убедиться, что все ящики из вашего задания успешно перенесены.
Можно временно приостановить перенос почтовых ящиков:
Get-MoveRequest | ? |Set-MoveRequest –SuspendWhenReadytoCompleate
Или продолжить миграцию:
В Exchange 2013, 2016, 2019 и Exchange Online можно перемещать несколько ящиков с помощью пакетного режима (командлет New-MigrationBatch). Список ящиков для миграции нужно указать в CSV файле, а затем выполнить команду:
New-MigrationBatch -Local -AutoStart -AutoComplete -Name DB01Move20200915 -CSVData ([System.IO.File]::ReadAllBytes("C:\PS\DB01Move20200915.csv")) -TargetDatabases DB02 -BadItemLimit 10
Для переноса только основного ящика укажите параметр PrimaryOnly , чтобы перенести архивный почтовый ящик – ArchiveOnly .
New-MailboxExportRequest: Экспорт почтового ящика Exchange в PST архив
Процедура экспорта содержимого почтового ящика Exchange аналогична импорту. Для экспорта содержимого ящика в PST файл используется командлет New-MailboxExportRequest. Чтобы экспортировать почтовый ящик пользователя mailtst в сетевую папку (каталог должен быть создан предварительно и на него даны права чтения и записи для доменной группы Exchange Trusted Subsystem) выполните такую команду:
New-MailboxExportRequest –Mailbox mailtst –FilePath \\HQFS01\ExportPST\mailtst.pst
Чтобы исключить из выгрузки папку, воспользуйтесь параметром ExcludeFolders. Например, вам не нужно, чтобы в PST файл экспортировалось удаленные элементы:
Рассмотрим более сложное задание: допустим, необходимо выгрузить из ящика все письма, полученные после 1 января 2019 года, содержащие в теле письма ключевые слова “MSProject” и “Moscow”.
Также вы можете экспортировать данные только из определенной папки с результатами поиска по ящикам, полученной с помощью командлета Search-Mailbox.
Задание экспорта также попадает в очередь на сервере Exchange. Чтобы проверить статус задания экспорта, выполните команду:
Get-MailboxExportRequest -Mailbox "mailtst" | Format-List
RunspaceId : 2623f0d3-1b4b-4610-b0a2-6f29a077cc54
FilePath : \\HQFS01\ExportPST\mailtst.pst
SourceDatabase : db1
Mailbox :
Name : MailboxExport
RequestGuid : e03de23f-4376-424a-95fa-53faaf97ebf9
RequestQueue : db1
Flags : IntraOrg, Push
BatchName :
Status : Completed
Protect : False
Suspend : False
Direction : Push
RequestStyle : IntraOrg
OrganizationId :
Identity : mailtst\MailboxExport
IsValid : True
ObjectState : New
Не забывайте периодически очищать успешно выполненные запросы на экспорт ящиков в PST файлы:
Get-MailboxExportRequest -Status Completed | Remove-MailboxExportRequest
При экспорте данных из ящика в PST файл, содержимое ящика пользователя на сервере Exchange не очищается.
Вы можете массово выгрузить ящики нескольких пользователей. Создайте текстовый файл следующего формата:
Запустите экспорт ящиков пользователей в PST файлы:
Предыдущая статья Следующая статья
Защита от спама в Exchange 2013, 2016: RBL
Резервное копирование почтовой базы Exchange 2013 средствами Windows Server Backup
Как включить и настроить автоответ в почтовом ящике Exchange/Microsoft 365?
Размер почтового ящика и квоты в Exchange 2019/2016 и Exchange Online (Microsoft 365)
Ну и нужно не забывать очищать успешно законченные запросы на имопрт/экспорт в pst:
Get-MailboxImportRequest -Status Completed | Remove-MailboxImportRequest
Get-MailboxExportRequest -Status Completed | Remove-MailboxExportRequest
С одиночными пользователями понятно (хотя у меня выдает что нет доступа к папке, для выгрузки). А как массово выгружать ящики? Например всех пользователей в определенной OU?
1. Проверяйте права на папку. У группы Exchange Trusted Subsystem должны быть права на запись.
2. Для получения списка пользвоателей в OU нужно использовать командлет Get-ADUser (https://winitpro.ru/index.php/2015/05/21/powershell-get-aduser-poluchenie-dannih-o-polzovatelyax-active-directory/).
Что-то вроде:
Import-Module ActiveDirectory
$Users=Get-ADUser -Filter * -SearchBase 'OU=Users, DC=winitpro, DC=ru'
ForEach($User in $Users) New-MailboxExportRequest -Mailbox $User.name -FilePath "\\srv1\share\($User.displayname) + '.pst'"
>
А как быть если почта пользователя уже выгружена? Скрипт снова начнет выгружать почту?
Почта из ящика не удаляется. По сути делается копия в pst.
То есть pst будет пухнуть, пока не грохнешь ящик?
Спасибо!
После пересобирания рейда, совсем забыл про добавление группы ))
А как сделать что бы PST файл создавался автоматически, при выполнении экспорта?
При выполении экспорта ящика с помощью команды вида
New-MailboxExportRequest –Mailbox mailtst –FilePath \\HQFS01\ExportPST\mailtst.pst
PST файл создается автоматически.
Спасибо за ответ, уже разобрался. Оказывается при выполнении экспорта на шару, у Exchange не было прав, помогло добавление прав для группы «Exchange Trusted Subsystem»
Подскажите следующий вопрос.
Размер почтового ящика 19 гб (да я знаю, много, но все-таки).
Выгрузка зацикливается, ставили выгрузку ящика на выходные, за выходные выгрузилось 160 гигов, при этом в процентном соотношении ( командой Get-MailboxExportRequest | Get-MailboxImportRequestStatistics) выдает 30% и продолжает выгружать. Как лечить, куда копать?
19 Гб это не так уж и много. Мне кажется нужно просто дождаться окончания экспорта ящика.
ну конечно, с такими командлетами любой дурак сможет…
а вот у меня ни одного из них нет в Shell, ни Get-. ни New-…, ни Import, ни Export
Какая версия Exchange?
Убедитесь, что вы используете Exchange Management Shell, а не обычную консоль PowerShell. Ну и обязательно должны быть права в Exchange через механизм RBAC.
Exchange 2016 CU5
Совершенно точно я использую EMS, не обычный PS.
Вот про RBAC, к сожалению, не слышал, но из того, что успел прочитать, создалось впечатление, что это общий концептуальный подход, а не какая-то его техническая реализация..
Этот скрипт вернул мне нули во всех строках и всех столбцах
Разумеется, я его админю последние года два
Опечатки:
«Запустите импорт ЭКСПОРТ ящиков пользователей в PST файлы:
Import-CSV «C:\ps\user_to_export_pst.csv» | ForEach >
Опечатка:
«полученные после 1 января 2019 года»
(Received –lt “01/01/2019”)
Принято! Ваше и предудущее замечания 🙂
Подскажите, пожалуйста, как выгрузить все письма за определенный период из всех почтовых ящиков на сервере в один PST или несколько?
Интересно, как ограничения по датам выставить при импорте в почтовый ящик из pst файла?
Знает кто?
Рубрики сайта
Последние статьи
16.09.2020
itpro
Exchange
комментариев 6
Администратор Exchange может перемещать ящики пользователей между почтовыми базами на одном сервере или между удалёнными mailbox серверами. В этой статье мы рассмотрим, как перемещать почтовые ящики в Exchange с помощью Exchange Admin Center и PowerShell (статья актуальна для всех поддерживаемых версий 2010/2013/2016/2019, с небольшими оговорками касательно графического интерфейса управления Exchange).
Чаще всего ящики в организации Exchange перемещают, если пользователь переместился на другую площадку с собственными почтовыми северами; когда заканчивается место на диске, где хранится текущая база; когда нужно выполнить офлайн дефрагментацию базы без прерывания почтового сервиса для пользователей.
Обратите внимание, что перемещение и удаление ящика не уменьшит размер фалов почтовой базы на диске, а лишь освободит место внутри базы (white space). Освободившееся место в базе может использоваться для хранения почтовых элементов оставшихся пользователей. Для уменьшения размеры базы Exchange нужно выполнить ее офлайн дефрагментацию, или просто пересоздать (предварительно переместив пользователей в другие почтовые базы).
Для переноса почтового ящика из одной базы в другую, нужно создать запрос на перемещение. Есть три типа запроса на перемещение:
- Local move – локальный запрос на перенос ящика внутри одного леса (из одной базы в другую на том же самом почтовом сервере, или на другой сервер в этой же организации Exchange);
- Cross-forest enterprise move – перенос почтовых ящиков между разными лесами Active Directory;
- Remote mailbox moves in hybrid deployments – перенос почтовых ящиков в гибридных конфигурациях (между on-premises Exchange и Office 365).
New-MailboxImportRequest: Импорт писем из PST-файла в ящик Exchange
Для импорта PST файла в почтовый ящик Exchange помимо наличия прав необходимо, чтобы выполнялись следующие условия:
С помощью следующей команды запустите процесс импорта содержимого PST файла из сетевой папки в почтовый ящик пользователя usetest.
New-MailboxImportRequest -Mailbox mailtst -FilePath \\HQFS01\PST\usetest.pst
При выполнении импорта в целевом ящике содержимое уже существующих папок объединяется, а новые папки добавляются к имеющейся структуре почтовых папок.
- Inbox
- SentItems
- DeletedItems
- Calendar
- Contacts
- Drafts
- Journal
- Tasks
- Notes
- JunkEmail
- CommunicationHistory
- Voicemail
- Fax
- Conflicts
- SyncIssues
- LocalFailures
- ServerFailures
После запуска команды импорта, запрос попадает в очередь на обработку сервером Exchange (обработка выполняется на сервере с ролью Client Access Server). Чтобы увидеть содержимое очереди задания импорта, выполните команду:
Статус выполнения задания импорта (InProgress, Completed, Queued) для конкретного ящика Exchange можно узнать так:
Чтобы получить информацию о статусе выполнения запроса импорта в процентах, выполните команду:
Завершенные запросы на импорт можно удалить из текущей очереди с помощью команды:
Get-MailboxImportRequest -Status Completed | Remove-MailboxImportRequest
Для массового импорта данных из PST файлов в ящики нескольких пользователей можно воспользоваться такой командой (предполагается, что имена pst-файлов соответствуют именам ящиков пользователей):
Foreach ($i in (Get-Mailbox))
Если в процессе импорта произошел сбой, более подробную информацию о его причинах можно получить из отчета, сформированного так:
Get-MailboxImportRequest -Status Failed | Get-MailboxImportRequestStatistics -IncludeReport | Format-List > FullImportReports.txt
В большинстве случаях ошибки импорта происходят из-за:
- Логических повреждениях в структуре PST файлов (как восстановить pst файлы с помощью встроенных средств);
- При превышении размера ящика заданных лимитов.
Можно указать лимит количества сбойных элементов PST файлов, которых можно пропустить при экспорте. Следующая команда выполнит импорт данных из PST файла в ящик и пропустит десять первых сбойных элементов, прежде чем выдать ошибку импорта:
New-MailboxImportRequest -Mailbox mailtst -FilePath \\HQFS01\PST\usetest.pst -BadItemLimit 10
Копии базы данных почтовых ящиков
Копию базы данных почтовых ящиков можно создать в любое время. Копии баз данных почтовых ящиков можно распределять по серверам почтовых ящиков гибко и детализованно.
Вы можете создать копию базы данных почтовых ящиков с помощью мастера копирования базы данных почтовых ящиков в центре администрирования Exchange или с помощью команды Add-MailboxDatabaseCopy в Exchange Management Shell.
При создании копии базы данных почтовых ящиков укажите следующие параметры.
Identity. Этот параметр указывает имя копируется база данных. Имена баз данных должны быть уникальными в пределах организации Exchange.
MailboxServer. Этот параметр указывает имя сервера почтовых ящиков, который будет принимать копию базы данных. Сервер должен входить в ту же группу обеспечения доступности баз данных и не может уже содержать копию этой базы данных.
Дополнительно можно указать следующие параметры.
ActivationPreference. Этот параметр указывает число предпочтений активации, которое используется в рамках процесса выбора лучшей копии Active Manager. Он также используется для перераспределения активных баз данных почтовых ящиков в группе обеспечения доступности баз данных при использовании сценария RedistributeActiveDatabases.ps1. Значение приоритета активации это число, равное или больше 1, где 1 означает самый высокий приоритет. Номер позиции не может быть больше числа копий базы данных почтовых ящиков.
ReplayLagTime. Этот параметр указывает время, которое служба репликации Microsoft Exchange должна ждать перед воспроизведением файлов журналов, копируемых в копию базы данных. Параметр имеет следующий формат: (дни.часы:минуты:секунды). По умолчанию для этого параметра используется значение 0 секунд. Максимальное допустимое значение 14 дней. Минимально допустимое значение равно 0 секунд. Если задать для него значение 0, задержка преобразования журнала будет отключена.
TruncationLagTime. Этот параметр указывает время, которое служба репликации Microsoft Exchange должна ждать перед усечением файлов журналов, которые были воспроизведены в копию базы данных. Отсчет времени начинается с момента успешного преобразования журнала в копию базы данных. Параметр имеет следующий формат: (дни.часы:минуты:секунды). По умолчанию для этого параметра используется значение 0 секунд. Максимальное допустимое значение 14 дней. Минимально допустимое значение равно 0 секунд. Если задать для него значение 0, задержка усечения журнала будет отключена.
SeedingPostponed. Этот параметр указывает, что задача не должна автоматически засеять копию базы данных на указанном сервере почтовых ящиков. Данный параметр обычно используется, когда требуется заполнять новую копию базы данных почтовых ящиков на основе существующей пассивной копии (например, при добавлении второй копии определенной базы данных в удаленное расположение). При использовании этого параметра необходимо вручную заполнить копию базы данных при помощи командлета Update-MailboxDatabaseCopy.
Дополнительные сведения о создании, использовании и управлении копиями баз данных почтовых ящиков см. в рублях Управление копиями баз данных почтовых ящиков.
27.10.2021
itpro
Exchange, PowerShell
комментариев 25
В Exchange Server 2010 SP1 (и выше) для импорта / экспорта содержимого почтового ящика Exchange из/в PST-файлы появились специальные командлеты PowerShell: New-MailboxImportRequest и New-MailboxExportRequest. В предыдущих версиях Exchange для импорта/экспорт данных из Exchange в PST файлы приходилось использовать сторонние утилиты (чаще всего использовалась утилита ExMerge, знакомство с которым не смог избежать ни один Exchange-администратор).
В Exchange 2016, 2013 и Office 365 разработчики расширили функционал командлетов Exchange для импорта/экспорта в PST файлы, несколько расширив функционал и увеличив их производительность. В этой статье мы рассмотрим типовые примеры импорта/экспорта данных из почтовых ящиков Exchange в файлы личных папок (PST).
Основные характеристики
Ниже перечислены основные характеристики копий базы данных почтовых ящиков.
До 16 копий базы данных Exchange Server почтовых ящиков можно создать на нескольких серверах почтовых ящиков при условии, что серверы сгруппированные в группу доступности баз данных (DAG), которая является границей для непрерывной репликации. Exchange Server базы данных почтовых ящиков можно реплицировать только в той же версии Exchange серверов почтовых ящиков в DAG. Вы не можете реплицировать базу данных за пределами DAG и не сможете реплицировать базу данных почтовых ящиков Exchange 2016 или Exchange 2019 г. на сервер, запущенный Exchange 2013 г. или ранее. Подробные сведения о группах доступности баз данных см. в обзоре Группы доступности баз данных.
Все серверы почтовых ящиков в группе обеспечения доступности баз данных должны находиться в одном домене Active Directory.
Копии базы данных почтовых ящиков поддерживают концепции времени запаздывания преобразования и времени запаздывания усечения. Перед включением этих функций необходимо выполнить надлежащее планирование.
Для любой копии базы данных можно создать резервную копию с помощью приложения резервного копирования на основе службы теневого копирования томов (VSS), совместимого с Exchange.
Копии баз данных могут создаваться только на серверах почтовых ящиков, где не размещаются активные копии базы данных. При этом нельзя создать две копии одной базы данных на одном и том же сервере.
Все копии базы данных используют один и тот же путь на всех серверах, где хранятся копии. Пути баз данных и файлов журналов копий баз данных на всех серверах почтовых ящиков не должны конфликтовать с путями других баз данных.
Копии баз данных можно создавать в одном и том же сайте Active Directory или в разных сайтах, а также в одной и той же или разных подсетях.
Копии баз данных не поддерживаются на серверах почтовых ящиков, задержка сетевого кругового пути между которыми превышает 500 миллисекунд.
Читайте также: