使用 PowerShell 6.2 为 AAD 用户启用 MFA

使用 PowerShell 6.2 为 AAD 用户启用 MFA

我正在研究为 AAD / O365 用户启用 MFA 的方法。我指的是 MS 文档中的这篇文章:

https://docs.microsoft.com/en-us/azure/active-directory/authentication/howto-mfa-userstates

如果我安装 MSOnline 模块、导入它,并将 connect-msolservice 与 PS 版本 5.1 一起使用,它将按描述的方式工作。如果我尝试使用 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 的方法,我正在考虑使用 Azure 函数应用程序和 PowerShell。这似乎是将其与我们的 ITSM 系统结合起来的好方法,通过调用通过函数应用程序提供的 Web 钩子。显然,要做到这一点,需要解决一些权限和安全问题。但是,如果我无法将 MSOnline 模块加载到 PS 6.2(即可作为函数应用程序使用的 PS 平台),我认为使用 PowerShell 函数应用程序是行不通的。

我没有看到在图形 API 中为 AAD 用户启用 MFA 的方法,但也许我遗漏了什么。除了 MSOnline PS 模块或 Web UI 之外,还有其他方法可以为 AzureAD 用户启用 MFA 吗?

答案1

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?:)

回答您的(子)问题,除了使用模块和 webgui 之外,如何在 AzureAD 上启用 MFA。为什么不使用 Azure AD 条件访问?它是完全自动化的,非常安全,甚至更好,专为此目的而设计。

相关内容