Приношу свои извинения, если мой вопрос не совсем описывает то, что я здесь задаю! Я не уверен, как фильтровать содержимое поля или его отсутствие между фигурными скобками / круглыми скобками. Мои лучшие результаты поиска возвращают ЭТО статью, что, по моему мнению, не решает мою проблему.
Я пытаюсь вывести всех пользователей из MSOnline / AzureAD, у которых отключена опция многофакторной аутентификации /не задано. Этот факт немного тривиален, но он устанавливает контекст ....
У меня есть запрос ниже, который возвращает тестового пользователя, у которого, как я знаю, не настроено значение StrongAuthenticationRequirements.
> get-MsolUser -UserPrincipalName test@contoso.com | select UserPrincipalName,DisplayName,StrongAuthenticationRequirements
UserPrincipalName DisplayName StrongAuthenticationRequirements
----------------- ----------- --------------------------------
test@contoso.com Test Account {}
Я также могу выполнить запрос, используя Where-Object, чтобы найти те, у которых ДЕЙСТВИТЕЛЬНО установлено значение.
> get-MsolUser | where-object { $_.StrongAuthenticationRequirements -like "*Microsoft.Online.Administration.StrongAuthenticationRequirement*" } | select UserPrincipalName,DisplayName,StrongAuthenticationRequirements
UserPrincipalName DisplayName StrongAuthenticationRequirements
----------------- ----------- --------------------------------
test@contoso.com Test Account {Microsoft.Online.Administration.StrongAuthenticationRequirement}
Мой вопрос; как выполнить запрос c, не относящийся к пользователю, чтобы найти все экземпляры, в которых поле StrongAuthenticationRequirement равно "{}"?
Заранее спасибо!