Я только что проверил это на своем собственном Арендаторе, и он прекрасно работает.
Единственный случай, когда это не сработало, это когда почта не совпадала ни с одним действительным почтовым адресом, тогда я просто ничего не возвращал.
Прежде всего, чтобы убедиться, что вы не столкнулись с ошибкой, убедитесь, что вы обновили свой модуль AzureRM
Update-Module AzureRM
Иначе, я бы предложил вам попробовать использовать UserPrincipalName в качестве теста, чтобы посмотреть, сможете ли вы заставить его работать с UserPrincipalName в качестве идентификатора.
Под этим я подразумеваю, что все еще используйте свойство -Mail
, но для значения используйте userPrincipalName пользователей вместо адреса электронной почты.
Также убедитесь, что адрес электронной почты, который вы пытаетесь найти, не является псевдонимом, большинство этих команд работает только с тем атрибутом первичных адресов электронной почты, который введен в почтовое поле, а не с прокси-адресами.
Для альтернативных решений, если модуль AzureRM просто не работает для вас, вы можете попробовать модуль AzureAD вместо этого
Install-Module AzureAD
Этот модуль имеет командлет Get-AzureADUser
, который также может предоставить идентификатор объекта пользователя Azure AD.
Чтобы найти пользователя на основе Mail из командлета Get-AzureADUser
, используйте свойство -Filter
.
Get-AzureADUser -Filter "Mail eq 'mail@domain.tld'"
Если это не работает. Попробуйте просто запустить (Get-AzureADUser).mail
, чтобы получить список всех почтовых адресов и проверить, что тот, который вы ожидаете найти, действительно находится в списке, просто чтобы на 100% убедиться, что почта, которую вы ожидаете найти, действительно является значением для пользовательский объект.