Estou trabalhando em uma maneira de habilitar o MFA para usuários do AAD/O365. Estou me referindo a este artigo dos documentos do MS:
https://docs.microsoft.com/en-us/azure/active-directory/authentication/howto-mfa-userstates
Se eu instalar o módulo MSOnline, importá-lo e conectar-msolservice com PS versão 5.1, ele funcionará conforme descrito. Se eu tentar fazer isso com o PS versão 6.2, recebo:
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.
Isso ocorre porque o PS 6.2 é construído no .Net Core e não é capaz de carregar as bibliotecas de uma versão anterior do .Net que faz parte do módulo MSOnline?
O que realmente procuro é uma maneira de automatizar a habilitação de MFA para usuários do AAD/O365, e estou pensando em usar um aplicativo de funções do Azure com o PowerShell. Esta parece ser uma boa maneira de unir isso com nosso sistema ITSM chamando um web hook disponibilizado por meio do Function App. Obviamente, há alguns elementos de permissão e segurança a serem trabalhados para fazer isso. No entanto, se eu não conseguir carregar o módulo MSOnline para PS 6.2, que é a plataforma PS disponível como um aplicativo de funções, acho que não funcionaria usar um aplicativo de funções do PowerShell.
Não vejo uma maneira de habilitar o MFA para um usuário do AAD na API do gráfico, mas talvez esteja faltando alguma coisa. Existe outra maneira de habilitar o MFA para um usuário do AzureAD que não seja o módulo MSOnline PS ou a interface do usuário da Web?