正在研究一个简单的Powershell脚本,该脚本将获取所有邮箱及其MFA状态并将其放入Excel工作表中。
由于AD同步,我所有的用户都有一个许可证,但是目前只有几百个用户在O365中拥有邮箱。因此,我想提取一个邮箱列表并返回mfastatus。
这就是我得到的。它没有错误,但是将所有邮箱作为禁用的MFA返回。
Connect-MsolService
$Result=@()
$mailbox = Get-Mailbox -ResultSize Unlimited -RecipientTypeDetails UserMailbox
$mailbox | ForEach-Object {
$mailbox = $_
if ($mailbox.StrongAuthenticationRequirements.State -ne $null){
$mfaStatus = $mailbox.StrongAuthenticationRequirements.State
}
else {
$mfaStatus = "Disabled"}
$Result += New-Object PSObject -property @{
UserName = $mailbox.DisplayName
UserPrincipalName = $mailbox.UserPrincipalName
MFAStatus = $mfaStatus
}
$Result | Select UserName,UserPrincipalName,MFAStatus |
Export-CSV "D:\\O365-Users-MFA-Status.csv" -NoTypeInformation -Encoding UTF8
}