Использование PowerShell в Exchange Online для отображения сведений о почтовых ящиках Microsoft 365 или Office 365

Важно!

Ознакомьтесь с новым Центром администрирования Exchange! Используется современный, интеллектуальный, доступный и улучшенный интерфейс. Настройте панель мониторинга, управляйте миграцией между клиентами, испытайте улучшенную функцию групп и т. д. Попробуйте прямо сейчас!

Администраторы могут узнать, как использовать Exchange Online PowerShell для отображения сведений о почтовых ящиках в своей организации Microsoft 365 или Office 365.

Чтобы дать вам представление о некоторых возможностях PowerShell в Microsoft 365 и Office 365, рассмотрим почтовые ящики пользователей в Exchange Online PowerShell.

Подготовка к работе

Сведения о том, как подключиться к Exchange Online PowerShell, см. в статье Подключение к Exchange Online PowerShell.

Отображение данных почтовых ящиков с помощью Exchange Online PowerShell

Вы можете легко получить сведения о почтовом ящике одного пользователя. Например, ниже приведена команда, которая возвращает некоторые сведения о почтовом ящике пользователя Ken Myer.

Get-Mailbox -Identity "Ken Myer"

Эта команда возвращает приблизительно следующие данные:

Name      Alias       ServerName      ProhibitSendQuota
----      -----       ----------      -----------------
kenmyer   kenmyer     bn1pr02mb038    49.5 GB (53,150,220,288 bytes)

Можно получить данные, такие как псевдоним пользователя и квота для размера почтового ящика. Однако с почтовым ящиком Exchange Online связано намного больше сведений, чем четыре свойства, которые возвращает командлет Get-Mailbox.

Вот пример команды, которая отображает все сведения об определенном почтовом ящике.

Get-Mailbox -Identity "Ken Myer" | Format-List

Команда дает среде Exchange Online PowerShell указание вернуть все доступные свойства почтового ящика в списке. Существует около 200 различных свойств и их значений. Вы также можете использовать командлеты Format-List и Format-Table, чтобы возвращались только значения определенных свойств. Например, с помощью этой команды вы можете просмотреть свойства, связанные с хранением для судебного разбирательства, для пользователя Ken Myer:

Get-Mailbox -Identity "Ken Myer" | Format-List DisplayName, LitigationHoldEnabled, LitigationHoldDate, LitigationHoldOwner, LitigationHoldDuration

При работе с командлетом Format-List можно использовать подстановочные знаки. Например, все свойства удержания для судебного разбирательства начинаются с букв lit. Вы можете получить эти же сведения, выполнив указанную ниже команду.

Get-Mailbox -Identity "Ken Myer" | Format-List DisplayName, Lit*

Эта команда указывает Get-Mailbox получить значение свойства DisplayName Кена вместе со значениями любых свойств, имена которых начинаются с букв lit. Ниже показаны результаты выполнения этой команды.

DisplayName            : Ken Myer
LitigationHoldEnabled  : False
LitigationHoldDate     :
LitigationHoldOwner    :
LitigationHoldDuration : Unlimited

Вы можете вернуть сведения о нескольких почтовых ящиках, не указав параметр Identity . В следующем примере возвращаются свойства DisplayName и LitigationHoldEnabled всех почтовых ящиков:

Get-Mailbox -ResultSize unlimited | Format-Table DisplayName, LitigationHoldEnabled -Auto

Во многих случаях требуется просматривать только некоторые из почтовых ящиков. Предположим, что вам требуется составить список всех почтовых ящиков, которым назначено хранение для судебного разбирательства. Для этого вы можете использовать командлет Where-Object в сочетании с командлетом Get-Mailbox. Для командлета Where-Object требуется выражение фильтра, чтобы сообщить среде Exchange Online PowerShell необходимый набор почтовых ящиков.

В простейшей форме в фильтрующих фразах используется синтаксис "<PropertyName> -<ComparisonOperator> <PropertyValue>".

Ниже перечислены некоторые из часто используемых операторов сравнения.

  • eq (равно, без учета регистра)

  • ne (не равно, без учета регистра)

  • gt (больше)

  • lt (меньше)

Полный список операторов сравнения см. в статье Where-Object.

Значения зависят <PropertyValue> от свойства и могут быть такими значениями, как строки, числа, логические значения ( $True или $False), или без значений ( $Null). Текстовые значения с пробелами необходимо заключить в кавычки. Числовые значения, логические значения и $Null не требуют кавычек вокруг значения.

Возвращаясь к нашему примеру со всеми почтовыми ящиками, которым было назначено удержание для судебного разбирательства, фильтрующая фраза выглядит следующим образом "LitigationHoldEnabled -eq $True":

  • Имя свойства: LitigationHoldEnabled.

  • Оператор сравнения: eq.

  • Стоимость свойства, которое мы ищем, равна $True.

После добавления выражения фильтра можно создать часть команды Where-Object, используя указанный ниже синтаксис.

Get-Mailbox -ResultSize unlimited | Where-Object {$_.<Filter Phrase>}

Вот команда для нашего примера:

Get-Mailbox -ResultSize unlimited | Where-Object {$_.LitigationHoldEnabled -eq $True}

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

Get-Mailbox -ResultSize unlimited | Get-MailboxJunkEmailConfiguration | Where-Object {$_.Enabled -eq $False}

Это лишь один пример. Если вы хотите отобразить набор почтовых ящиков на основе параметра и не можете отфильтровать этот параметр в Центре администрирования Microsoft 365, выполните следующие действия.

  1. Найдите свойство почтового ящика, соответствующее нужному параметру, выполнив команду Get-Mailbox -Identity "<MailboxIdentity" | Select-Object * для вывода списка всех свойств почтового ящика. <MailboxIdentity> — это любой уникальный идентификатор почтового ящика (имя, адрес электронной почты, псевдоним и т. д.)

  2. Создайте команду PowerShell для Office 365 следующим образом:Get-Mailbox -ResultSize unlimited | Where-Object {$_.<PropertyName> -<ComparisonOperator> <PropertyValue>}