Подключаться к серверу Exchange и управлять почтой можно не только через почтовик, но и напрямую из PowerShell. Это позволяет писать самые разные скрипты — например, массово создавать ящики или переносить архивы. Посмотрим, как выглядит этот интерфейс.

Первым делом нужно установить сессию с сервером. Для этого используем следующий командлет:

С:> $session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://mx.mailserver.ru -Authentication Kerberos

Вместо http://mx.mailserver.ru указываем URI своего сервера (его можно глянуть в Exchange Admin Center в разделе «Серверы -> Виртуальные директории»). Теперь используем нашу сессию:

С:> Import-PSSession $session -DisableNameChecking

После этого можно начинать вводить команды Exchange Management Shell. К примеру, для того чтобы посмотреть, сколько места занимает каждая папка, выполним:

Get-MailboxFolderStatistics -Identity <user> -FolderScope All | select Name,ItemsInFolder,FolderSize

Поиск и удаление писем по теме и вложению:

Get-Mailbox -ResultSize unlimited | Search-Mailbox -SearchQuery вложение:"archive.exe" -DeleteContent

Вывести ящики, которые не использовались за последние 120 дней:

Get-MailboxDatabase | Get-MailboxStatistics | where {$_.Lastlogontime -lt (get-date).AddDays(-120)} | Sort Lastlog

Экспортировать почтовый ящик в формате PST:

New-MailboxExportRequest -Mailbox "xakep" -Filepath "PCtempxakep.pst" -ContentFilter {(Received -gt "01/01/2017")}
New-MailboxExportRequest -Mailbox "xakep" -Filepath "PCtempxakep.pst"

Как видишь, разных команд и возможностей сколько угодно. Подробнее о них можешь почитать в официальном источнике, ну и не забывай про встроенную справку по синтаксису языка, она часто выручает.

Exchange Management Shell
Exchange Management Shell



1 комментарий

Подпишитесь на ][, чтобы участвовать в обсуждении

Обсуждение этой статьи доступно только нашим подписчикам. Вы можете войти в свой аккаунт или зарегистрироваться и оплатить подписку, чтобы свободно участвовать в обсуждении.