我正在研究一种为 AAD / O365 用户启用 MFA 的方法。我指的是 MS 文档中的这篇文章:
https://docs.microsoft.com/en-us/azure/active-directory/authentication/howto-mfa-userstates
如果我安装 MSOnline 模块,导入它,然后使用 PS 版本 5.1 连接 msolservice,它的工作原理与描述的一样。如果我尝试使用 PS 版本 6.2 执行此操作,我会得到:
Connect-MsolService : Could not load file or assembly 'System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'. The system cannot find the file specified.
这是因为 PS 6.2 是基于 .Net Core 构建的,并且它无法加载作为 MSOnline 模块一部分的早期版本 .Net 的库吗?
我真正追求的是一种为 AAD / O365 用户自动启用 MFA 的方法,我正在考虑使用带有 PowerShell 的 Azure Function App。这似乎是将它与我们的 ITSM 系统结合在一起的好方法,该系统调用通过 Function App 提供的网络挂钩。显然,要做到这一点,需要制定一些许可和安全元素。但是,如果我无法将 MSOnline 模块加载到 PS 6.2(可用作函数应用程序的 PS 平台),我认为使用 PowerShell 函数应用程序是行不通的。
我看不到在图形 API 中为 AAD 用户启用 MFA 的方法,但也许我遗漏了一些东西。除了 MSOnline PS 模块或 Web UI 之外,是否还有其他方法可以为 AzureAD 用户启用 MFA?
msonline 模块确实还没有为 PowerShell 6 做好准备 : https ://blogs.technet.microsoft.com/cloudlojik/2018/07/02/how-to-install-the-msonline-powershell-module/ 并且: https:// /www.enowsoftware.com/solutions-engine/powershell-core-is-ga-but-not-ready-for-office-365
不过,我想很快就会了。也许这些天在某个地方@Ignite?:)
在回答您的(子)问题时,如何在 AzureAD 上启用 MFA,而不是使用模块和 webgui。为什么不使用 Azure AD 条件访问?它是完全自动化的,非常安全,甚至更好,专为此目的而设计。