Полезные командлеты Powershell для Exchange

Вывод информации по БД почтовых ящиков в удобном формате
Код:
Get-MailboxDatabase -Status | fl Name,DatabaseSize,AvailableNewmailboxSpace, LastFullBackup,*quota,CircularLoggingEnabled
 
Настройки аудита в Exchange
Код:
Get-AdminAuditLogConfig

Поиск событий в журнале аудита Exchange
Код:
Search-AdminAuditLog

то же только форматированный вывод - кто когда и что трогал в exchange

Код:
Search-AdminAuditLog | ft CmdLetName,Caller,ObjectModified -Autosize
 
Перевод одного из mailbox серверов - участников DAG в режим обслуживания (например в случае обновления)

Код:
cd $exscripts

.\StartDagServerMaintenance.ps1 -serverName exchange-server1
.\StopDagServerMaintenance.ps1 -serverName exchange-server1
 
Настройка максимального размера пересылаемого сообщения в Exchange
Посмотреть параметры SMTP транспорта
Код:
 Get-TransportConfig |Ft MaxSendSize, MaxReceiveSize

Задать размер сообщений
Код:
 Get-TransportConfig | Set-TransportConfig -MaxSendSize 15MB - MaxReceiveSize 15MB
 
Список почтовых ящиков к которым не было подключений более 30 дней, проще говоря неиспользуемые почтовые ящики
Код:
Get-Mailbox -resultsize unlimited | Get-MailboxStatistics |?{$_.LastLogonTime -lt (date).adddays(-30)} | ft DisplayName,ItemCount,LastLogonTimeLast,LogoffTime,LastLoggedOnUserAccount -auto
 
Последнее редактирование модератором:
Выгрузить сохраненные контакты пользователя из почтового ящика Exchange и перенаправить вывод в CSV файл:
Код:
New-MailboxExportRequest USERNAME -FilePath \\server\backup\data\USER.pst -IncludeFolders “contacts”
Или так
Код:
New-MailboxExportRequest -Mailbox username -IncludeFolders “#Contacts#” -excludedumpster -file_path \\server\backup\data\USER.pst
 
Последнее редактирование модератором:
Изменить основной SMTP - адрес электронной почты для пользователя:
Код:
Set-MailBox ivanov -PrimarySmtpAddress  ivanov@domain.ru -EmailAddressPolicyEnabled $false
 
Отправить письмо из powershell оболочки

Код:
 $param="<pre>" +(Get-mailbox | sort| out-String) $message = @{ to   = 'recepient@remotedomen.org' from = 'sender@localdomen.org' subject ='ТЕМА ПИСЬМА' body=$param   bodyashtml = $true smtpserver= $env:computername } Send-MailMessage @message
 
Настройка пересылки писем с помощью командной консоли Exchange
В этом примере электронная почта попадает в почтовый ящик пользователя Douglas Kohn и одновременно пересылается по адресу douglaskohn.parents@fineartschool.net
Код:
Set-Mailbox -Identity "Douglas Kohn" -DeliverToMailboxAndForward $true -ForwardingSMTPAddress "douglaskohn.parents@fineartschool.net"

В этом примере выполняется пересылка всех сообщений электронной почты, отправляемых в почтовый ящик пользователя Ken Sanchez, сотрудника компании Contoso Suites, на адрес одного из его коллег pilarp@contoso.com.
Код:
Set-Mailbox -Identity "Ken Sanchez" -ForwardingSMTPAddress "pilarp@contoso.com"
 
Сбор данных об организации Exchange, вывод в отчет html
При запуске требуется указать имя html файла
repo.png - exchange
Может быть полезно при подготовке к миграции
 

Вложения

Экспорт писем по дате через powershell
Код:
New-MailboxExportRequest -Mailbox username -ContentFilter {(Received -lt "15/08/2019")} -FilePath "\\server\share\file.pst"

Код:
New-MailboxExportRequest -ContentFilter {(Received -lt '04/01/2010') -and (Received -gt '03/01/2010')} -Mailbox "Pelton" -Name DPeltonExp -FilePath \\ExServer1\Imports\DPelton.pst
 
Последнее редактирование:
Использование командной консоли для добавления копии базы данных почтовых ящиков

В этом примере копия базы данных почтовых ящиков DB1 добавляется на сервер почтовых ящиков MBX3. Время задержки воспроизведения и время запаздывания усечения остаются без изменений (0), а для приоритета активации устанавливается значение 2.
Код:
Add-MailboxDatabaseCopy -Identity DB1 -MailboxServer MBX3 -ActivationPreference 2

В этом примере копия базы данных почтовых ящиков DB2 добавляется на сервер почтовых ящиков MBX4. Время задержки преобразования и время запаздывания усечения остаются с нулевым значением по умолчанию, а для приоритета активации задано значение 5. Кроме того, заполнение этой копии откладывается, чтобы при заполнении можно было использовать локальный исходный сервер вместо текущей активной копии базы данных, которая географически отдалена от MBX4.
Код:
Add-MailboxDatabaseCopy -Identity DB2 -MailboxServer MBX4 -ActivationPreference 5 -SeedingPostponed

В этом примере копия базы данных почтовых ящиков DB3 добавляется на сервер почтовых ящиков MBX5. Время задержки преобразования составляет 3 дня, время запаздывания усечения остается равным нулю по умолчанию, а для приоритета активации задано значение 4.
Код:
Add-MailboxDatabaseCopy -Identity DB3 -MailboxServer MBX5 -ReplayLagTime 3.00:00:00 -ActivationPreference 4
 
Группы доступности - DAG

В этом примере создается группа обеспечения доступности баз данных DAG1, которая настроена для использования следящего сервера FILESRV1 и локального\каталога C: DAG1. DAG1 также использует протокол DHCP для IP-адресов группы.
Код:
New-DatabaseAvailabilityGroup -Name DAG1 -WitnessServer FILESRV1 -WitnessDirectory C:\DAG1


В этом примере создается группа обеспечения доступности баз данных DAG2. Система автоматически выбирает сервер клиентского доступа на локальном сайте Active Directory, который не содержит роль сервера почтовых ящиков в качестве следящего сервера группы обеспечения доступности баз данных. Группе DAG2 присвоен один статический IP-адрес, так как в этом примере для всех членов группы обеспечения доступности баз данных используется сеть MAPI в одной подсети.
Код:
New-DatabaseAvailabilityGroup -Name DAG2 -DatabaseAvailabilityGroupIPAddresses 10.0.0.8


В этом примере создается группа обеспечения доступности баз данных DAG3. DAG3 настроен на использование следящего сервера MBX2 и локального каталога C:\DAG3. Группе DAG3 присвоено несколько статических IP-адресов, так как участники группы обеспечения доступности баз данных используют различные подсети сети MAPI.
Код:
New-DatabaseAvailabilityGroup -Name DAG3 -WitnessServer MBX2 -WitnessDirectory C:\DAG3 -DatabaseAvailabilityGroupIPAddresses 10.0.0.8,192.168.0.8


В этом примере создается группа обеспечения доступности баз данных DAG4, настроенная на использование протокола DHCP. Кроме того, будет выполнен автоматический выбор следящего сервера и создание следящего каталога по умолчанию.
Код:
New-DatabaseAvailabilityGroup -Name DAG4


В этом примере создается группа обеспечения доступности баз данных с именем DAG5 без административной точки доступа (доступно только в группах обеспечения доступности баз данных с Windows Server 2012 R2). Кроме того, для группы обеспечения доступности баз данных в качестве следящего сервера будет использован сервер клиентского доступа MBX4; также будет создан следящий каталог по умолчанию.
Код:
New-DatabaseAvailabilityGroup -Name DAG5 -DatabaseAvailabilityGroupIPAddresses ([System.Net.IPAddress]::None) -WitnessServer MBX4
 
PowerShell скрипт для настройки Client Access URLs для Microsoft Exchange Server
 

Вложения

Параметры message tracking log
Код:
Get-TransportService | fl *tracking*
 
Поиск писем которые не доставлены exchange, можно поиграться параметрами для просмотра журнала вообще

Код:
GetMessageTrackingLog -Sender user1@domen1.com -Recepients user2@domen2.com -MessageSubject TEST -EventID [B]FAIL [/B]| fl
 
Удобный вывод статистики по почтовому ящику пользователя

Код:
Get-MailboxFolderStatistics Username | ft FolderPath,FolderSize,ItemsInFolder -Autosize
 
Включение корзины третьего уровня в exchange (Single Item Recovery)
Код:
Set-MailBox username -SingleItemRecoveryEnabled

Восстановление элементов из корзины 3 уровня
Код:
Search-MailBox -Identity usernsme -SearchDumpsterOnly -TargetMailBox Administrator -Targetfolder RESTORED
 
Последнее редактирование модератором:
Дать полные права юзеру на почтовый ящик
Код:
Add-MailboxPermission -Identity "MAILBOX" -user "USERNAME" -AccessRights FullAccess -InheritanceType All
Так же посмотреть права на ящик exchange

В этом примере возвращаются разрешения для почтового ящика по его SMTP-адресу
Get-MailboxPermission -Identity john@contoso.com | Format-List

В этом примере возвращаются разрешения, которые пользователь user2 имеет для почтового ящика user1.
Get-MailboxPermission -Identity user1@contoso.com -User "user2"

В этом примере возвращаются сведения о владельце для почтового ящика ресурсов
Get-MailboxPermission -Identity Room222 -Owner
 
Последнее редактирование модератором:
Сменить ip адрес DAG
Set-DatabaseAvailabilityGroup DAG1 –DatabaseAvailabilityGroupIPAdress 192.168.1.66
 
Назад
Верх