Полезные команды Exchange Management Shell
Полезные команды Exchange Management Shell
Принудительно обновить OAB
1 2 |
Get-OfflineAddressbook | Update-OfflineAddressbook Get-ClientAccessServer | Update-FileDistributionService |
Включение Архива для всех ящиков из базы
Задание ограничения на архив и политики архивирования
1 2 3 |
Get-MailboxDatabase MDB | Get-Mailbox | Enable-Mailbox -Archive -ArchiveDatabase AMDB Get-MailboxDatabase MDB | Get-Mailbox | Set-Mailbox -ArchiveWarningQuota 3584MB -ArchiveQuota 4GB Get-MailboxDatabase MDB | Get-Mailbox | Set-mailbox -RetentionPolicy "Default Archive and Retention Policy" |
Политика хранения применяется Managed Folder Assistant’ом. В Exchange 2010 RTM он запускался по расписанию (с часа ночи до 9 утра по умолчанию). В Exchange 2010 SP1 этот ассистент включен постоянно, так что политики архивирования к почтовому ящику должны примениться сразу же. Для ручного запуска используется командлет:
1 |
Get-MailboxDatabase | Get-Mailbox | Start-ManagedFolderAssistant |
найти какому почтовому ящику принадлежит определенный электронный адрес
1 |
Get-mailbox -resultsize unlimited | where-object{$_.Emailaddresses -like "*st@*"} | format-list name,emailaddresses,database,servername |
Поиск и удаление писем по теме,вложению
1 |
Get-Mailbox -ResultSize unlimited | Search-Mailbox -SearchQuery вложение:"котики.jpg" -DeleteContent |
В этом примере ведется поиск по почтовому ящику zalozny с отбором сообщений, содержащих фразу в теме; сообщения удаляются из исходного почтового ящика.
1 2 |
Search-Mailbox -Identity "April Stewart" -SearchQuery 'Subject:"Your bank statement"' -DeleteContent Search-Mailbox -Identity "zalozny" -SearchQuery тема:"Your bank st atement" -DeleteContent |
посмотрим статистику по отдельной базе с ограничением числа отображаемых ящиков.
1 |
Get-MailboxDatabase MDB | Get-Mailbox -ResultSize 15 |
Мы также можем посмотреть нужную нам статистику общего числа элементов и размера ящиков по отдельной базе.
1 |
Get-MailboxDatabase MDB |Get-MailboxStatistics | Sort totalitemsize -desc | ft displayname, totalitemsize, itemcount |
Экспорт статистики в CSV файл:
1 |
Get-MailboxDatabase MDB | Get-MailboxStatistics | Sort totalitemsize -desc | ft displayname, totalitemsize, itemcount | Export-CSV C:\MDB.csv -encoding unicode |
Ящики которые не использовались за последние 120 дней
1 |
Get-MailboxDatabase | Get-MailboxStatistics | where {$_.Lastlogontime -lt (get-date).AddDays(-120)} | Sort Lastlogontime -desc | ft DisplayName,ItemCount,Lastlogontime |
Экспорт статистики в HTML:
1 |
Get-MailboxDatabase | Get-MailboxStatistics | where {$_.Lastlogontime -lt (get-date).AddDays(-120)} | Sort Lastlogontime -desc | ConvertTo-Html DisplayName,ItemCount,Lastlogontime > c:\temp\MB.html |
1 |
[PS] C:\>Get-MailboxDatabase | Get-MailboxStatistics | where {$_.Lastlogontime -lt (get-date).AddDays(-60)} | where {$_.DisconnectReason -ne "Disabled"} | where {$_.Lastlogontime -ne $null} | Sort Lastlogontime | ft DisplayName,ItemCount,Lastlogontime |
Предоставить доступ группе «Organization Management» к содержимому всех существующих почтовых ящиков
1 |
Get-Mailbox | Add-MailboxPermission -User "Organization Management" -AccessRights FullAccess -AutoMapping:$False |
1 2 |
[PS] C:\>Get-Mailbox | Get-MailboxPermission | ?{($_.AccessRights -like "*fullaccess*") -and ($_.User -notlike "*nt authority\self*") -and ($_.IsInherited -like "false")} |
Эскпорт почтового ящика в PST
1 2 |
New-MailboxExportRequest -Mailbox "zalozny" -Filepath "\\PC\temp\zalozny.pst" -ContentFilter {(Received -gt "01/04/2014")} New-MailboxExportRequest -Mailbox "zalozny" -Filepath "\\PC\temp\zalozny.pst" |
Просмотреть статус экспорта
1 |
Get-MailboxExportRequest | ft |
очистка выполненых запросов
1 |
Get-MailboxExportRequest -Status Completed | Remove-MailboxExportRequest |
проверить пустое пространство в базах
1 |
Get-MailboxDatabase -Status | FL Name,AvailableNewMailboxSpace |
Если вам срочно требуется получить список отключенных ящиков то ниже рецепт как достичь желаемого результата.
Очистка всех существующих хранилищ
1 |
Get-Mailboxdatabase | Clean-MailboxDatabase |
В Exchage 2013 cmdlet Clean-MailboxDatabase заменен на Update-StoreMailboxState
1 |
Get-MailboxStatistics -Database MDB | ForEach { Update-StoreMailboxState -Database $_.Database -Identity $_.MailboxGuid -Confirm:$false } |
Найти отключенные почтовые ящики
1 2 |
Get-MailboxDatabase | Get-MailboxStatistics | Where { $_.DisconnectReason -eq "Disabled" } | ft DisplayName,Database,DisconnectDate Get-MailboxDatabase | Get-MailboxStatistics | Where { $_.DisconnectReason -eq "SoftDeleted" } | ft DisplayName,Database,DisconnectDate |
Окончательно удалить отключенные ящики из базы MDB
1 |
Get-MailboxStatistics -Database MDB | where {$_.DisconnectReason -eq "Disabled"} | ForEach {Remove-StoreMailb |