Эти две команды используют два разных типа фильтров.
Get-ADUser
использует синтаксис языка выражений PowerShell. Он может принимать окружающие {}
, хотя технически их не следует использовать, потому что на самом деле это не блок скриптов. Это также означает, что вы можете использовать подмножество операторов PowerShell, таких как -eq
, -like
и т. Д. Правильный синтаксис этого фильтра - "mail -eq '$email'"
. Внутренние кавычки необходимы, потому что PowerShell развернет строку внутри двойных кавычек, прежде чем передать ее в Get-ADUser
, что приведет к mail -eq user@domain.com
(обратите внимание, что в адресе электронной почты нет кавычек) и выдаст ошибку.
Get-AzureADUser
использует оператор фильтра oData v3.0. Эта спецификация не допускает синтаксис оператора PowerShell, поскольку она имеет свои собственные правила. Также теперь разрешен синтаксис блока скриптов ({}
). Правильный способ построения этого фильтра - -Filter "mail eq '$email'"
. Обратите внимание, что он использует eq
вместо -eq
. С помощью фильтров oData вы получаете доступ к функциям, которые могут упростить поиск и обработку данных. Пример использования функции - Get-AzureADUser -Filter "startswith(Mail,'$email')"
.
См. Get-ADUser для получения дополнительной информации о параметре -Filter
для Get-ADUser
.
См. Get-AzureADUser для получения дополнительной информации о параметре Get-AzureADUser -Filter
.
Дополнительная ссылка Фильтр запросов oData для коллекций содержит таблицу допустимых операторов и функций для добавления значительных возможностей для запросов.