使用 PowerShell 6.2 為 AAD 使用者啟用 MFA
我正在研究一種為 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 條件訪問?它是完全自動化的,非常安全,甚至更好,專為此目的而設計。