我正在尝试从Azure中拉出用户列表,以查看他们是否已启用或禁用MFA(出于报告原因),我目前正在使用以下功能:

$cred = Get-Credential
Connect-MsolService -Credential $cred

$users = Get-msoluser -All
$users | select DisplayName,@{N='Email';E={$_.UserPrincipalName}},@{N='StrongAuthenticationRequirements';E={($_.StrongAuthenticationRequirements.State)}} | Export-Csv -NoTypeInformation C:\csv.csv

这确实会根据需要进行连接并提取所有用户名和电子邮件,但是$_.StrongAuthenticationRequirements.State返回null。还有其他方法还是我忽略了某些东西?

最佳答案

您可以在下面的cmd中使用

    Get-MsolUser -all | select DisplayName,UserPrincipalName,@{N="MFA Status"; E={
    if( $_.StrongAuthenticationRequirements.State -ne $null) {$_.StrongAuthenticationRequirements.State} else { "Disabled"}}}

或者,您可以使用预建脚本Export Azure users' MFA status

使用此脚本,您可以基于MFA状态(即,仅具有启用状态/强制状态/禁用状态的用户)及其MFA身份验证方法导出结果。

关于powershell - 在Azure上收集用户的MFA状态,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51267362/

10-13 08:50