Базы данных Exchange
Почта/Домены
В данной статье поговорим об использовании PowerShell для управления базами данных Exchange. Рассмотрим как можно их создать, переместить, отключить и подключить. В данной статье будет идти речь о Exchange 2013, хотя многое из этого можно будет применить и к 2007 и к 2010 Exchange. Следует заметить, что в Exchange 2013 отсутствует понятие базы данных публичных папок.
Просмотр информации о существующих базах данных Exchange
Для начала можно посмотреть список всех командлетов, которые позволяют управлять базами данных в Exchange.
Get-Command *database*
Для просмотра информации о существующих базах данных используем командлет Get-MailboxDatabase
[PS] C:\Windows\system32>Get-MailboxDatabase
Name Server Recovery ReplicationType
---- ------ -------- ---------------
Mailbox Database 1 LON-MBX1 False None
Mailbox Database 2 LON-MBX2 False None
Research LON-MBX1 False None
[PS] C:\Windows\system32>Get-MailboxDatabase Research
Name Server Recovery ReplicationType
---- ------ -------- ---------------
Research LON-MBX1 False None
[PS] C:\Windows\system32>Get-MailboxDatabase Research -Status | fl
RunspaceId : 6143502d-69e4-4380-b23d-c183f4ef6617
JournalRecipient :
MailboxRetention : 30.00:00:00
<...>
<Вывод пропущен всего около 110 свойств базы данных>
<...>
OriginatingServer : LON-DC1.Adatum.com
IsValid : True
ObjectState : Changed
Параметр Status служит для просмотра более полной информации, включая размер базы данных, атрибуты BackupInProgress, Mounted, OnlineMaintenanceInProgress. Если у вас есть сервера баз данных более старых версий чем 2013, то для просмотра баз данных на них используем параметр IncludePreExchange2013.
[PS] C:\Windows\system32>Get-MailboxDatabase -status | Select Identity,DatabaseSize
Identity DatabaseSize
-------- ------------
Mailbox Database 1 264.1 MB (276,889,600 bytes)
Research 264.1 MB (276,889,600 bytes)
Mailbox Database 2 264.1 MB (276,889,600 bytes)
Для просмотра почтовых ящиков находящихся в базе данных Exchange используем следующую команду
[PS] C:\Windows\system32>get-mailbox -Database Research
Name Alias ServerName ProhibitSendQuota
---- ----- ---------- -----------------
Josh Bailey Josh lon-mbx1 Unlimited
Allie Bellew Allie lon-mbx1 Unlimited
Raffaella Bonaldi Raffaella lon-mbx1 Unlimited
Chloe Brussard Chloe lon-mbx1 Unlimited
Dita Burianova Dita lon-mbx1 Unlimited
Mathew Charles Mathew lon-mbx1 Unlimited
Jeroen Cool Jeroen lon-mbx1 Unlimited
Patricia Doyle Patricia lon-mbx1 Unlimited
Anil Elson Anil lon-mbx1 Unlimited
Viggo Forde Viggo lon-mbx1 Unlimited
Cesar Garcia Cesar lon-mbx1 Unlimited
Maxim Goldin Maxim lon-mbx1 Unlimited
Создание базы данных
Для создания базы данных используется команда New-MailboxDatabase
[PS] C:\Windows\system32>New-MailboxDatabase -Name CompanyAdministration -Server LON-MBX2 -EdbFilePath 'C:\Program Files
\Microsoft\Exchange Server\V15\Mailbox\CompanyAdministration\CompanyAdministration.edb' -LogFolderPath 'C:\Program Files
\Microsoft\Exchange Server\V15\Mailbox\CompanyAdministration\'
WARNING: Active Directory couldn't be updated in Swindon site(s) affected by the change to 'CompanyAdministration'. It
won't be completely usable until after Active Directory replication occurs.
WARNING: Active Directory couldn't be updated in Swindon site(s) affected by the change to 'CompanyAdministration'. It
won't be completely usable until after Active Directory replication occurs.
Name Server Recovery ReplicationType
---- ------ -------- ---------------
CompanyAdministration LON-MBX2 False None
WARNING: Please restart the Microsoft Exchange Information Store service on server LON-MBX2 after adding new mailbox
databases.
При создании обычной базы данных обязательны два параметра Name и Server, однако рекомендую так же задать местоположение файла Edb и логов.
Однако при создании базы данных восстановления применяется обязательный параметр Recovery.
Изменение параметров баз данных
Для изменения параметров базы данных используется командлет Set-MailboxDatabase. Его можно использовать отдельно для установки параметров конкретных баз данных. Пример ниже устанавливает циклическое ведение журнала.
[PS] C:\Windows\system32>Set-MailboxDatabase -Identity Research -CircularLoggingEnabled $true
WARNING: Circular logging parameter change will not be applied on this database before it is remounted. Dismount and
remount database "Research" in order to apply this parameter change.
Обратите некоторые изменения параметров базы данных требуют, например, отключения и подключения базы данных. Об этом чуть ниже.
А можно использовать Set-MailboxDatabase совместно с Get-MailboxDatabase и тогда можно легко изменять параметры множества баз данных. Пример ниже устанавливает для всех БД параметры очистки удаленных сообщений и удаленных почтовых ящиков из базы данных.
[PS] C:\Windows\system32>Get-MailboxDatabase | Set-MailboxDatabase -MailboxRetention 40.00:00:00 -DeletedItemRetention 40.00:00:00
Отключение и подключение базы данных Exchange
В некоторых ситуациях, таких как операции обслуживания, необходимо временно отключать базу данных. А после выполнения данных операций заново подключать базу данных.
Для этих операций используются два командлета Dismount-Database и Mount-Database. Первый отключает, а второй подключает ранее отключенную базу данных.
[PS] C:\Windows\system32>Dismount-Database Research
Confirm
Are you sure you want to perform this action?
Dismounting database "Research". This may result in reduced availability for mailboxes in the database.
[Y] Yes [A] Yes to All [N] No [L] No to All [?] Help (default is "Y"): y
[PS] C:\Windows\system32>Mount-Database Research
Обратите внимение Dismount-Database требует подтверждения.
Перенос файлов базы данных
Увы перенос файлов базы данных возможен только в пределах одного сервера, для этого используется командлет Move-DatabasePath
[PS] C:\Windows\system32>Move-DatabasePath -Identity CompanyAdministration -EdbFilePath c:\companyadministration\company
Administration.edb -LogFolderPath c:\CompanyAdministration\
Confirm
Are you sure you want to perform this action?
Moving database path "CompanyAdministration".
[Y] Yes [A] Yes to All [N] No [L] No to All [?] Help (default is "Y"): y
Confirm
To perform the move operation, database "CompanyAdministration" must be temporarily dismounted, which will make it
inaccessible to all users. Do you want to continue?
[Y] Yes [A] Yes to All [N] No [L] No to All [?] Help (default is "Y"): y
При выполнении данной команды будет запрощено два подтверждение, одно на выполнение операции, второе на временное отключение базы данных.
Хотя у этого командлета есть несколько ограничений. Вот вырезка из справки:
- Выполнение этого командлета завершается ошибкой, если в данный момент выполняется резервное копирование базы данных.
- Если указанная база данных включена во время выполнения этого командлета, она отключается автоматически и затем подключается заново, оказываясь недоступной для пользователей во время отключения.
- Этот командлет можно выполнить только на сервере почтовых ящиков. В редких случаях этот командлет можно выполнить на рабочей станции администратора при использовании параметра ConfigurationOnly со значением $true.
- Этот командлет не может быть запущен на реплицированных базах данных почтовых ящиков. Чтобы удалить путь реплицированной базы данных, сначала необходимо удалить все реплицированные копии и затем выполнить операцию удаления. После завершения операции удаления можно добавить копии в базу данных почтовых ящиков.