Я пытаюсь проверить, у каких пользователей в Azure включены 2FA в их учетных записях.
Я нашел несколько примеров в Интернете, которые утверждают, что достигли этого, но, похоже, он работает только при запросе себя - я не могу проверить других пользователей.
Так что, если я бегу
Import-Module MSOnline
$user = "bassie@domain.com"
$pass= convertto-securestring "Password123" -asplaintext -force
$mycred = new-object -typename System.Management.Automation.PSCredential -argumentlist $user,$pass
$O365Cred = Get-Credential $mycred
Connect-MsolService -Credential $O365Cred
$user = Get-MsolUser -UserPrincipalName bassie@domain.com
$user.StrongAuthenticationUserDetails
Я вижу, что StrongAuthenticationUserDetails
содержит
ExtensionData : System.Runtime.Serialization.ExtensionDataObject
AlternativePhoneNumber :
Email :
OldPin :
PhoneNumber : +27 1111111111
Pin :
Это имеет смысл, поскольку в моей учетной записи активирован 2FA с выбранным методом текстовых сообщений, поэтому я ожидаю увидеть этот номер телефона там. Все остальные свойства Strongauthentication-`не заполнены.
Однако, если я попытаюсь получить то же самое для любого другого пользователя, StrongAuthenticationUserDetails
всегда будет пустым.
Почему это? Я предполагаю, что это связано с разрешениями, но если да, какие разрешения? И где я могу найти эту информацию?
Все, что мне нужно сделать, это проверить, у кого выключен 2FA, чтобы мы могли выдать ошибку этим пользователям и заставить их зарегистрироваться.