Таким образом, я пытаюсь найти надежный метод, чтобы определить, настроен ли у пользователя многофакторная аутентификация o365 на его учетной записи до запуска сценария, чтобы он не был повторно включен.
с помощью:
$MFAUsers = Get-Msoluser -userprincipalname test.webjea@xxx.com | select "StrongAuthenticationRequirements"
выходы, если они включены
StrongAuthenticationRequirements
--------------------------------
{Microsoft.Online.Administration.StrongAuthenticationRequirement}
и следующие, если они отключены
StrongAuthenticationRequirements
--------------------------------
{}
В идеале, если пользователь отключен, скрипт запускается для его учетной записи, включая его. Если они включены, скрипт пропустит их.
Для тестирования у меня есть составленный
if ($MFAUsers -eq "{Microsoft.Online.Administration.StrongAuthenticationRequirement}") {
"NO MFA"
}
Elseif ($MFAUsers -eq "{Microsoft.Online.Administration.StrongAuthenticationRequirement}"){
"MFA"
}
При запуске этого теста для включенной тестовой учетной записи я все равно получаю ответ "нет MFA"
У кого-нибудь есть идеи? Я уверен, что это что-то глупое, но я действительно не могу указать на это пальцем? Он видит заголовок «StrongAuthenticationRequirments»?