我正在尝试检查 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,这样我们就可以窃听这些用户并让他们注册。