Здесь собраны команды, которые я использую в повседневной работе. Список предполагается рихтовать время от времени.
Может быть будет полезно вам, а также сам пользуюсь данной статьей, как шпаргалкой :)
Команда 1
Показывает размеры имеющихся баз данных, а также количество свободного в них места
Get-MailboxDatabase -Status | ft name,databasesize, availablenewmailboxspace -auto
Команда 2
Получить список почтовых ящиков: имя ящика, количество писем, размер
Get-Mailbox | Get-MailboxStatistics | sort TotalItemSize -descending | ft DisplayName, TotalItemSize, ItemCount
Команда 2a
То же самое, только размер ящиков выводим в мегабайтах, при этом в колонке отображаются только цифры
Get-Mailbox -database "Mail*"| Get-MailboxStatistics | sort TotalItemSize -descending | ft DisplayName, @{label="Mailbox Size (MB)";expression={$_.TotalItemSize.Value.ToMB()}}, ItemCount
Команда 2b
Получить суммарный объем всех почтовых ящиков в базе данных с именем, соответствующей выражению «Mail*»
Get-Mailbox -database "Mail*"| Get-MailboxStatistics | select-object @{label="mbsize";expression={$_.TotalItemSize.Value.ToMB()}}|measure mbsize -sum
Команда 2c
Получить размер всех почтовых ящиков и преобразовать данные в HTML файл. Потом очень удобно из HTML файла копировать в Excel и там уже делать обработку.
Get-Mailbox -database "Main*"| Get-MailboxStatistics | select-object displayname, @{label="mbsize";expression={$_.TotalItemSize.Value.ToMB()}}|sort mbsize|ConvertTo-Html DisplayName, mbsize > c:\
Команда 3
Получить список локальных запросов на перемещение со статусом InProgress, при отображении результатов выводить только две колонки DisplayName и PercentComplete
Get-MoveRequest -MoveStatus InProgress | Get-MoveRequestStatistics | ft DisplayName, PercentComplete
Команда 4
Запустить обработку писем в заданном ящике в соответствии с политиками хранения
Get-Mailbox -Identity name.surname@domain.com | Start-ManagedFolderAssistant
Команда 5
Создать локальный запрос на перемещение всех почтовых ящиков, чье название начинается с «dmitry». Перемещение будет выполняться в базу MainExchangeDb. Важным параметром является -PrimaryOnly, если его не указать, то будет происходить перемещение не только основного почтового ящика, но и архива
Get-Milbox -Identity "dmitry*" | New-MoveRequest -TargetDatabase MainExchangeDb -PrimaryOnly
Команда 5a
Битый час пришлось мне потратить, чтобы получить эту команду. Она позволяет выполнить new-moverequest для ящиков определенного размера. Ключевым моментом здесь является повторяющийся Get-Mailbox в середине команды, который преобразует вывод Get-MailboxStatistics в формат, принимаемый New-MoveRequest
Get-Mailbox -database "Mailbox*" | Get-MailboxStatistics | Where {$_.TotalItemSize -lt 20Mb} | get-mailbox | New-MoveRequest -TargetDatabase MainExchangeDb -PrimaryOnly
Команда 5b
Перемещаем почтовый ящик с большим количеством поврежденных сообщений
get-mailbox -identity name.surname@domain.com | new-moverequest -targetdatabase MainExchangeDb -baditemlimit 100 -AcceptLargeDataLoss -PrimaryOnly
Команда 5c
Количество одновременно перемещаемых ящиков можно изменить, отредактировав соответствующую строку в файле C:\Program Files\Microsoft\Exchange Server\V14\Bin\MSExchangeMailboxReplication.exe.config
MaxActiveMovesPerTargetMDB = «2»
Команда 6
А вот так смотрим, сколько еще ящиков осталось в базе данных, из которой переносим или в той, куда переносим
get-mailbox -database "Mailbox*"|ft displayname, database | measure-object|ft count
Команда 7
Поиск всех почтовых ящиков, чья архивная база данных соответствует заданному шаблону
get-mailbox | where {$_.ArchiveDatabase -like "Mail*"}
Команда 8
Создание архива в базе данных ArchiveDb для всех почтовых ящиков, чем размер не превышает 1Гб
Get-Mailbox -database "Mailbox*" | Get-MailboxStatistics | Where {$_.TotalItemSize -lt 1Gb} | get-mailbox|enable-mailbox -archive -archivedatabase "ArchiveDb"
Команда 9
Поиск всех почтовых ящиков в базе данных соответствующей шаблону «Mailbox*», при этом размер ящика лежит в диапазоне от 2Гб до 7Гб и displayname не соответствует Ivan Ivanov
Get-Mailbox -database "Mailbox*" | Get-MailboxStatistics | Where {($_.TotalItemSize -gt 2Gb) -and ($_.TotalItemSize -lt 7Gb) -and $_.DisplayName -notlike "Ivan Ivanov"}|sort displayname
Команда 10
Перенос только архивных почтовых ящиков из баз данных, соответствующих «Maii*» в базу данных ArchiveDb
Get-Mailbox | where {$_.ArchiveDatabase -like "Mai*"}|New-MoveRequest -ArchiveOnly -ArchiveTargetDatabase "ArchiveDb"
Команда 11
Задаю всех ящикам во всех базах данных значение «unlimited» для квот, когда будет остановлена отправка почты и когда прием.
Get-Mailbox | set-mailbox -prohibitsendquota "unlimited" -ProhibitSendReceiveQuota "unlimited"
Команда 11a
А так проверяю, что установленные в команде 12a свойства действительно были изменены
Get-Mailbox|ft name,prohibitsendquota,ProhibitSendReceiveQuota
Команда 12
Принудительное обновление OAB (Offline Address Book)
Get-OfflineAddressbook | Update-OfflineAddressbook
Get-ClientAccessServer | Update-FileDistributionService
Команда 13
Очищаем почтовый ящик user.name от писем, удаленных из папки Удаленные (т.е. recoverable items)
Search-Mailbox –identity user.name –SearchDumpsterOnly –DeleteContent
Команда 14
Если мы отключили только что почтовый ящик пользователя и хотим тут же его подключить другой учетке AD, то перезапускаем службу "Банк данных Exchange" и выполняем команду
Clean-MailboxDatabase MainExchangeDb
, где MainExchangeDb является базой данных отключенного почтового ящика. В противном случае при попытке открыть заново подключенный ящик в OWA или через Outlook будет выдаваться ошибка
Команда 15
Удалить окончательно отключенные (Disabled)/удаленные (SoftDeleted) почтовые ящики
$DeletedMailbox = Get-MailboxStatistics -Database ArchiveDb | where {$_.DisconnectReason -eq "SoftDeleted"} | Select DisplayName, MailboxGuid, Database
$DeletedMailbox | ForEach { Remove-StoreMailbox -Database $_.Database -Identity $_.MailboxGuid -MailboxState SoftDeleted -Confirm:$False}
Команда 16
Импортируем данные из PST файла в архивный почтовый ящик
New-MailboxImportRequest -Mailbox user@domain.com -IsArchive -FilePath \\192.168.10.6\ExchangePSTFiles\Archive\user_first_6_month_2015.pst
Теперь смотрим статус запроса на импорт(подробно)
Get-MailboxImportRequest|format-list
Смотрим список запросов на импорт
Get-MailboxImportRequest