Skip to content

Exchange commands

powershell

Конфигурация: MS Exchange 2010 SP3, Windows 2008 R2

Collect info

База - размер баз данных

Get-MailboxDatabase -Status | ft name,databasesize,availablenewmailboxspace -auto

База - какие ящики в базе

Get-MailboxStatistics -Database "DB0" | sort TotalItemSize -desc | ft "displayname", "DisconnectReason", "TotalItemSize"

Mailbox - Biggest mailboxes

Get-MailboxStatistics -server SRV01 | sort TotalItemSize -desc | ft "displayname", "ItemCount", "TotalItemSize" | select -First 50

# Ищем сущность, которой принадлежит e-mail
Get-Recipient | ?{$_.emailaddresses -like "*[email protected]*"} 

MailBox - Import from PST

# Запускаем импорт. Обязательно UNC путь!!!
New-MailboxImportRequest -FilePath \\SRV01\pst\filename.pst -Mailbox "user.name"

# Смотрим процесс импорта
Get-MailboxImportRequest | Get-MailboxImportRequestStatistics

# Удаляем процессы импорта
Get-MailboxImportRequest | Remove-MailboxImportRequest

Mailbox - export to PST

# Экспорт всего ящика в PST
New-MailboxExportRequest -Mailbox User.Name -FilePath "\\SRV01\Share\filename.pst"

# Экспорт писем в *.pst с диапазоном дат
# Формат даты установлен в DD.MM.YYYY, но если DD > 12 - формируется ошибка!
# Опции:
#  lt = less then <
#  gt = greater then >
#  le = less equal <=
#  ge = greater equal >=

New-MailboxExportRequest -Mailbox user.name -ContentFilter {(Sent -ge "01/01/2012") -and (Sent -lt "01/01/2013")} -FilePath \\SRV01\Share\user_name-2012.pst 

# Смотрим процесс экспорта
Get-MailboxExportRequest | Get-MailboxExportRequestStatistics

# Удалить запросы в статусе Завершенные
Get-MailboxExportRequest -Status Completed | Remove-MailboxExportRequest

# Удалить все запросы
Get-MailboxExportRequest | Remove-MailboxExportRequest

Moving mailbox to another DB

# Запуск. Процесс выполняется в фоне. Во время выполнения процесса можно безболезненно перегрузить сервер.
New-MoveRequest -Identity "user.name" -TargetDatabase "DB0"

# Перенос системных (служебных) ящиков
Get-Mailbox -Database "DB_FROM" Arbitration | New-MoveRequest -TargetDatabase "DB_TO"

# Смотрим статус
Get-MoveRequest | Get-MoveRequestStatistics

# Удалить запросы в статусе Завершенные
Get-MoveRequest -MoveStatus Completed | Remove-MoveRequest

Mailbox - folders size

# Развернутый
Get-MailboxFolderStatistics "user.name" 

# Краткий
Get-MailboxFolderStatistics "user.name" | ft Name,FolderAndSubfolderSize

Mailbox - Передача прав на контакты другому пользователю

# Читаем права
Get-MailboxFolderPermission -identity "user.name-from:\Контакты"

# Добавляем права Editor
Add-MailboxFolderPermission -identity "user.name-from:\Контакты" -user "user.name-to" -AccessRights "Editor"

Remove messages

#Удаляем письмо с темой «spam subj» из почтового ящика пользователя s.petrov
Search-Mailbox -Identity "s.petrov" -SearchQuery 'тема:"spam subj"' DeleteContent

# Смотрим сколько писем, с темой «spam subj» ...
# В конкретной DB
Get-Mailbox -DataBase "DB001" | Search-Mailbox -SearchQuery 'тема:"spam subj"' -EstimateResultOnly | ft DisplayName, ResultItemsCount
# По отдельному OU
Get-Mailbox -OrganizationalUnit "OU-NAME" | Search-Mailbox -SearchQuery 'тема:"spam subj"' -EstimateResultOnly | ft DisplayName, ResultItemsCount

# Удаляем письма с темой "spam subj" есть во всех ящиках базы DB001 ..
# В конкретной DB
Get-Mailbox -DataBase "DB001" | Search-Mailbox -SearchQuery 'тема:"spam subj"' -DeleteContent | ft DisplayName, ResultItemsCount
# По отдельному OU
Get-Mailbox -OrganizationalUnit "OU-NAME" | Search-Mailbox -SearchQuery 'тема:"spam subj"' -DeleteContent | ft DisplayName, ResultItemsCount

Clean queue

# 
Get-Message -Queue "v09\Submission" -ResultSize unlimited | where{$_.Subject -eq "Subject" } | Remove-Message -WithNDR $False

#
Get-Message -ResultSize 10000 |where{$_.MessageSourceName -eq "SMTP:local" } | Remove-Message -WithNDR $False

#
Get-Message -ResultSize 10000 |where{$_.MessageSourceName -eq "DSN" } | Remove-Message 

Connection statistics for mobile devices

Get-ActiveSyncDeviceStatistics -Mailbox username@domain.com

!!!

Clean-MailboxDatabase
Get-LogonStatistics -Server V07 | Export-Csv logonstats.csv