Фильтры получателей для командах Exchange PowerShell
Командлеты в командной консоли Exchange и Exchange Online PowerShelll поддерживают различные типы фильтров в командлетах, связанных с получателями:
- Предварительно настроенные фильтры.
- Настраиваемые фильтры с помощью параметра RecipientFilter .
- Настраиваемые фильтры с помощью параметра Filter .
- Настраиваемые фильтры с помощью параметра ContentFilter .
В более поздних версиях Exchange использовался синтаксис фильтрации LDAP для создания настраиваемых списков адресов, глобальных списков адресов, групп рассылки и политик электронных адресов. Синтаксис фильтрации OPATH заменил синтаксис фильтрации LDAP, начиная с Exchange Server 2007 года.
Предустановленные фильтры
Предварительно настроенный фильтр использует популярные свойства в Exchange для фильтрации получателей динамических групп рассылки, политик адресов электронной почты, списков адресов или общедоступных лицензий. С помощью предварительно настроенных фильтров можно использовать Exchange PowerShell или Центр администрирования Exchange (EAC). С помощью предварительно настроенных фильтров можно выполнять следующие задачи:
- Определение области получателей.
- Добавьте условную фильтрацию на основе общих свойств, таких как компания, отдел, штат или регион.
- Добавление настраиваемых атрибутов для получателей. Дополнительные сведения см. в статье Custom Attributes.
Следующие параметры считаются предустановленными фильтрами.
- Включенныеrecipients
- ConditionalCompany
- ConditionalDepartment
- ConditionalStateOrProvince
- ConditionalCustomAttribute1 to ConditionalCustomAttribute15.
Предварительно настроенные фильтры доступны в следующих командлетах:
Пример предварительного фильтра
В этом примере описывается использование предварительно настроенных фильтров в командной консоли Exchange для создания динамической группы рассылки. Синтаксис задействованных в примере команд подобен синтаксису, который используется для создания политики электронных адресов и обычного или глобального списка адресов, но не идентичен ему. При создании заранее подготовленного фильтра необходимо ответить на указанные ниже вопросы.
Из какого подразделения вы хотите включить получателей (параметр RecipientContainer )?
Примечание.
Выбор подразделения для этой цели применяется только к созданию динамических групп рассылки, а не к созданию политик адресов электронной почты, списков адресов или общедоступных лицензий.
Какие типы получателей необходимо включить (параметр IncludeRecipients )?
Какие дополнительные условия необходимо включить в фильтр (параметры ConditionalCompany, ConditionalDepartment, ConditionalStateOrProvince и ConditionalCustomAttribute )?
В этом примере создается динамическая группа рассылки со следующими свойствами:
- Имя: Contoso Finance.
- Типы получателей: почтовые ящики пользователей.
- Расположение получателя: подразделение с именем Contoso.com/Users.
- Фильтры Включите только получателей, у которых атрибут Department определен как Finance и атрибут Company , определенный как Contoso.
New-DynamicDistributionGroup -Name "Contoso Finance" -OrganizationalUnit Contoso.com/Users -RecipientContainer Contoso.com/Users -IncludedRecipients MailboxUsers -ConditionalDepartment "Finance" -ConditionalCompany "Contoso"
В этом примере отображаются свойства новой динамической группы рассылки.
Get-DynamicDistributionGroup -Identity "Contoso Finance" | Format-List Recipient*,Included*
Настраиваемые фильтры, использующие параметр RecipientFilter
Если предварительно настроенные фильтры не соответствуют вашим потребностям, можно создать настраиваемые фильтры с помощью параметра RecipientFilter . Этот параметр доступен в следующих командлетах:
Дополнительные сведения о фильтруемых свойствах, которые можно использовать с параметром RecipientFilter , см. в разделе Фильтруемые свойства для параметра RecipientFilter.
Пример пользовательского фильтра
Для создания динамической группы рассылки в следующем примере используется параметр RecipientFilter. Синтаксис этого примера подобен, но не идентичен синтаксису, используемому для создания политики адресов электронной почты и обычного или глобального списка адресов.
В этом примере используются настраиваемые фильтры для создания динамической группы рассылки со следующими свойствами:
- Имя: AllContosoNorth.
- Типы получателей: почтовые ящики пользователей.
- Расположение получателя: подразделение с именем Contoso.com/Users.
- Фильтры Включите только получателей, у которых атрибут Company определен как Contoso, и атрибут Office , определенный как North Building.
New-DynamicDistributionGroup -Name AllContosoNorth -OrganizationalUnit contoso.com/Users -RecipientFilter "((RecipientTypeDetails -eq 'UserMailbox') -and (Company -eq 'Contoso') -and (Office -eq 'North Building'))"
Настраиваемые фильтры, использующие параметр Filter
Параметр Filter используется для фильтрации результатов команды и указания получаемых объектов. Например, вместо получения всех пользователей или групп можно указать набор пользователей или групп с помощью строки фильтра. Этот тип фильтра не изменяет конфигурацию или атрибуты объектов. Он только изменяет набор объектов, данные о которых возвращает команда.
Использование параметра Filter для изменения результатов команды представляет собой фильтрацию на стороне сервера. В случае фильтрации на стороне сервера команда или фильтр обрабатываются на сервере. Мы также поддерживаем фильтрацию на стороне клиента, при которой команда извлекает все объекты с сервера, а затем применяет фильтр в окне локальной консоли. Для выполнения фильтрации на стороне клиента используйте командлет Where-Object. Дополнительные сведения о фильтрации на стороне сервера и клиента см. раздел "Фильтрация данных" статьи Working with Command Output.
Чтобы найти фильтруемые свойства для командлетов с параметром Filter, можно запустить команду Get для объекта и отформатировать вывод путем передачи по конвейеру параметра Format-List. Большинство возвращаемых значений доступны для использования в параметре Filter .
Следующий пример возвращает подробный список почтового ящика пользователя Ayla.
Get-Mailbox -Identity Ayla | Format-List
Параметр Filter доступен для следующих командлетов получателей:
- Get-CASMailbox
- Get-Contact
- Получить DistributionGroup
- Получить DynamicDistributionGroup
- Get-Group
- Get-Mailbox
- Get-MailContact
- Get-MailPublicFolder
- Get-MailUser
- Get-Recipient
- Get-RemoteMailbox
- Get-SecurityPrincipal
- Get-UMMailbox
- Get-User
- Get-UnifiedGroup
Дополнительные сведения о фильтруемых свойствах, которые можно использовать с параметром Filter , см. в разделе Фильтруемые свойства для параметра Filter.
Пример параметра фильтра
В этом примере параметр Filter используется для возврата сведений о пользователях, заголовок которых содержит слово "manager".
Get-User -Filter "Title -like 'Manager*'"
Настраиваемые фильтры, использующие параметр ContentFilter
Параметр ContentFilter позволяет выбрать определенное содержимое сообщения для экспорта при использовании командлета New-MailboxExportRequest. При обнаружении сообщения, соответствующего фильтру содержимого, оно экспортируется в PST-файл.
Пример параметра ContentFilter
В этом примере создается запрос на экспорт, который выполняет поиск сообщений в почтовом ящике Ayla, в котором текст содержит фразу "перспектива компании". Если эта фраза найдена, команда экспортирует все сообщения с этой фразой в PST-файл.
New-MailboxExportRequest -Mailbox Ayla -ContentFilter "Body -like 'company prospectus*'"
Дополнительные сведения о фильтруемых свойствах, которые можно использовать с параметром ContentFilter , см. в разделе Фильтруемые свойства для параметра ContentFilter.
Дополнительные сведения о синтаксисе OPATH
При создании собственных настраиваемых фильтров OPATH учитывайте следующие элементы:
Используйте следующий синтаксис для определения типов значений, которые вы ищете:
Текстовые значения: заключите текст в одинарные кавычки (например,
'Value'
или'Value with spaces'
). Кроме того, текстовое значение можно заключить в двойные кавычки, но это ограничивает символы, которые можно использовать для заключения всего фильтра OPATH.Переменные: заключайте переменные, которые необходимо развернуть в одинарные кавычки (например,
'$User'
). Если само значение переменной содержит одинарные кавычки, необходимо определить (экранировать) одинарные кавычки, чтобы правильно развернуть переменную. Например, вместо'$User'
используйте'$($User -Replace "'","''")'
.Целые значения: не нужно заключать целые числа (например,
500
). Часто можно заключать целые числа в одинарные кавычки или двойные кавычки, но это ограничивает символы, которые можно использовать для заключения всего фильтра OPATH.Системные значения: не заключайте системные значения (например,
$true
,$false
или$null
). Чтобы заключить весь фильтр OPATH в двойные кавычки, необходимо экранировать системное значение для входа в доллар (например,`$true
).
Весь фильтр OPATH необходимо заключить в двойные кавычки "" или одинарные кавычки "". Хотя любой объект фильтра OPATH технически является строкой, а не блоком скрипта, по-прежнему можно использовать фигурные скобки { }, но только если фильтр не содержит переменные, требующие расширения. Символы, которые можно использовать для включения всего фильтра OPATH, зависят от типов значений, которые вы ищете, и символов, которые вы использовали (или не использовали) для включения этих значений:
Текстовые значения. Зависит от того, как вы заключали текст для поиска:
- Текст, заключенный в одинарные кавычки: заключите весь фильтр OPATH в двойные кавычки или фигурные скобки.
- Текст, заключенный в двойные кавычки: заключите весь фильтр OPATH в фигурные скобки.
Переменные: заключите весь фильтр OPATH в двойные кавычки (например,
"Name -eq '$User'"
).Целочисленные значения. Чтобы убедиться, что они работают во всех случаях, заключите их одним из следующих способов:
- Целое число, заключенное в одинарные кавычки: заключите весь фильтр OPATH в двойные кавычки или фигурные скобки
"CountryCode -eq '840'"
. - Целое число, заключенное в двойные кавычки: заключите весь фильтр OPATH в фигурные скобки (например
{CountryCode -eq "840"}
).
- Целое число, заключенное в одинарные кавычки: заключите весь фильтр OPATH в двойные кавычки или фигурные скобки
Системные значения: заключите весь фильтр OPATH в одинарные кавычки или фигурные скобки (например
'HiddenFromAddressListsEnabled -eq $true'
, ). При выходе из системы знаков доллара можно также заключить весь фильтр OPATH в двойные кавычки (например,"HiddenFromAddressListsEnabled -eq `$true"
).
Совместимость условий поиска и допустимых символов, которые можно использовать для заключения всего фильтра OPATH, приведены в следующей таблице:
значение Поиск Фильтр OPATH
заключено в
двойные кавычкиФильтр OPATH
заключено в
одинарные кавычкиФильтр OPATH, заключенный в
Брекеты'Text'
✔ ✔ "Text"
✔ '$Variable'
✔ 500
✔ ✔ ✔ '500'
✔ ✔ "500"
✔ $true
✔ ✔ `$true
✔ ✔ ✔ Включите дефис перед всеми логическими операторами или операторами сравнения. Наиболее распространенные операторы:
-and
-or
-not
-eq
(равно)-ne
(не равно)-lt
(меньше)-gt
(больше)-like
(сравнение строк)-notlike
(сравнение строк)
Многие фильтруемые свойства принимают подстановочные знаки. При использовании подстановочных знаков применяйте оператор -like вместо оператора -eq. Используйте оператор -like для поиска совпадений шаблонов в расширенных типах (например, строках). Используйте оператор -eq , чтобы найти точное совпадение.
При использовании оператора -like в Exchange Online PowerShell подстановочный знак поддерживается только в качестве суффикса в большинстве параметров. Например,
"Department -like 'sales*'"
разрешено, а"Department -like '*sales'"
— нет.Совет
Даже если префикс с подстановочными знаками работает в параметре фильтра в Exchange Online PowerShell, мы не рекомендуем использовать его из-за проблем с низкой производительностью.
Дополнительные сведения об операторах, которые можно использовать, см. в разделе:
Документация фильтра получателей
В следующей таблице содержатся ссылки на статьи, которые помогут вам узнать больше о фильтруемых свойствах, которые можно использовать с командами получателей Exchange.
Статья | Описание |
---|---|
Фильтруемые свойства для параметра RecipientFilter в командлетах Exchange | Дополнительные сведения о фильтруемых свойствах, доступных для параметра RecipientFilter . |
Фильтруемые свойства для параметра Filter в командлетах Exchange | Дополнительные сведения о фильтруемых свойствах, доступных для параметра Filter . |
Фильтры в модуле PowerShell Exchange Online | Узнайте о рекомендациях по фильтрам в девяти эксклюзивных командлетах Get-EXO* в модуле Exchange Online PowerShell. |