我正在尝试从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/