«Глубокое погружение» в командлеты Office 365 PowerShell: Get-MailBox

Опубликовано: 11 Марта, 2023
«Глубокое погружение» в командлеты Office 365 PowerShell: Get-MailBox

В предыдущей части этой серии статей мы представили вам обзор командлета Get-MailBox и несколько примеров, которые помогут вам начать использовать командлет для сбора информации о почтовых ящиках из Office 365 Exchange Online. В этой и последующих частях мы рассмотрим некоторые полезные параметры командлета Get-MailBox и то, как вы можете использовать эти параметры для получения нужной информации, не тратя много времени на написание сценариев.

Командлет и параметры Get-MailBox

Как мы упоминали ранее, командлет Get-MailBox доступен как в локальной установке Exchange Server, так и в службе Exchange Online. Однако некоторые параметры командлета Get-Mailbox недоступны для той или иной среды. Например, параметр ReadFromDomainController доступен только при локальной установке Exchange Server. Аналогично, IncludeInactiveMailbox также доступен только локально.

Параметр «Идентичность»

«Идентификация» — это наиболее распространенный параметр, который вы будете использовать с командлетом Get-MailBox. Используя этот параметр, вы указываете командлету Get-MailBox искать почтовый ящик, соответствующий заданному идентификатору. Например, вы можете использовать «Адрес электронной почты» с параметром «-Identity», чтобы получить информацию о почтовом ящике пользователя, чей адрес электронной почты совпадает с адресом электронной почты, указанным вами в параметре «-Identity». Например, чтобы получить информацию о почтовом ящике для [email protected], вы выполните следующую команду PowerShell:

Get-MailBox –Идентификация [электронная почта защищена]

Эта команда получает информацию о почтовом ящике, запрашивая у Exchange Online адрес электронной почты, который совпадает с заданным адресом электронной почты. Командлет Get-MailBox поддерживает другие значения, используемые с параметром «-Identity», как описано в таблице.

Идентификационное значение Примечание
Имя Укажите имя почтового ящика пользователя.
Показать имя Необходимо указать отображаемое имя пользователя Office 365.
Псевдоним Используйте псевдоним почтового ящика. В большинстве случаев значение псевдонима аналогично значению имени.
Выдающееся имя Укажите отличительное имя пользователя.
Адрес электронной почты Как объяснялось в примере ранее, используйте адрес электронной почты пользователя.
GUID Укажите GUID пользователя Office 365.
SamAccountName SamAccountName пользователя.
Идентификатор пользователя Office 365 Как следует из названия, укажите идентификатор пользователя Office 365, для которого вы хотите получить информацию о почтовом ящике.
Имя участника-пользователя или имя участника-пользователя Это имя участника-пользователя Office 365.

Хотя вы можете использовать приведенную выше команду PowerShell для получения почтового ящика для отдельного удостоверения, если вам нужно получить информацию о почтовом ящике для нескольких пользователей, вам необходимо использовать цикл ForEach в сценарии PowerShell. Допустим, вам нужно собрать информацию о почтовых ящиках для 200 адресов электронной почты. Хотя вы можете использовать приведенную выше команду PowerShell для получения информации о почтовых ящиках для каждого пользователя по одному, это займет значительное время, если вам нужно выполнить задачу для 200 пользователей вручную. Что вы можете сделать, так это создать текстовый файл, добавить все адреса электронной почты в файл CSV, а затем использовать приведенный ниже сценарий PowerShell для сбора необходимой информации. Обратите внимание, что когда вы запускаете команду Get-Mailbox, она отображает информацию о почтовом ящике по умолчанию, такую как имя, псевдоним, имя сервера, на котором размещен почтовый ящик, и другую информацию. Возможно, вам не захочется видеть всю информацию, если вы ищете что-то конкретное. Например, если вам нужно знать имя «Псевдоним» для 200 почтовых ящиков, все, что вам нужно сделать, это использовать условие «ЕСЛИ» в сценарии PowerShell, как показано в сценарии ниже:

$MailBoxAliasReport = "C:TempMailBoxAliasReport.CSV"

Удалить элемент $MailBoxAliasReport -ErrorAction SilentlyContinue

$STR = «Адрес электронной почты, имя, текущий псевдоним»

Добавить содержимое $MailBoxAliasReport $STR

$EmailAddressFile = "C:TempEMailAddresses.txt"

$GCEmailAddresses = GC $EmailAddressFile

ForEach ($Item в $EmailAddressFile)

{

$ThisEmailAdd = $Item

Write-Host «Обработка адреса электронной почты:» $ThisEmailAdd

$MailBoxInfo = Get-MailBox-Identity $ThisEmailAdd | Select-Object Имя, Псевдоним

$STRNew = $ThisEmailAdd+», «+$MailBoxInfo.Name+», «+$MailBoxInfo.Alias

Добавить содержимое $MailBoxAliasReport $STRNew

}

Write-Host «Все адреса электронной почты из файла « $EmailAddressFile » были проверены».

Write-Host «Отчет создается в файле $MailBoxAliasReport».

После того, как вы закончите выполнение вышеуказанной команды PowerShell, в файле «C:TempMailBoxAliasReport.CSV» будет создан отчет CSV, который содержит необходимую информацию, как показано на снимке экрана ниже.

Как видите, скрипт PowerShell собирал необходимую информацию только для тех адресов электронной почты, которые были указаны в файле C:TempEmailAddresses.txt. Команда цикла ForEach в приведенном выше сценарии PowerShell обращается только к требуемому адресу электронной почты, собирает текущий псевдоним пользователя почтового ящика, а затем сохраняет значение в файле отчета.

Если вы хотите получить другую информацию о почтовом ящике, такую как отображаемое имя, имя сервера и размер почтового ящика, вам необходимо знать обязательный атрибут. Вы можете легко получить поддерживаемые атрибуты с помощью командлета Get-Member.

приближается

В этой статье представлен обзор параметра Identity командлета Get-MailBox. Мы также предоставили сценарий PowerShell, который можно использовать для сбора информации о почтовых ящиках для нескольких пользователей Office 365. Далее мы продолжим объяснять параметры, поддерживаемые командлетом Get-Mailbox, а также объяснять атрибуты, поддерживаемые командлетом Get-MailBox.

Если вы хотите прочитать другие части этой серии статей, вот ссылки:

Часть 1, Часть 2, Часть 3, Часть 4, Часть 5, Часть 6, Часть 7, Часть 8, Часть 9, Часть 10, Часть 11, Часть 12, Часть 13.