首页 > 解决方案 > 如何使用 MFA 实现需要 Connect-ExchangeOnline 命令的自动化脚本?

问题描述

我正在尝试创建一个涉及连接到在线交换的自动化。我无法做到这一点,因为每当我使用提供的有效凭据发出 Connect-Exchange 命令时,它都会要求 MFA(多因素身份验证)——这无法自动化。我怎样才能实现自动化?有任何想法吗?谢谢!

$password = ConvertTo-SecureString 'MySecretPassword' -AsPlainText -Force
$credential = New-Object System.Management.Automation.PSCredential ('user@company.com', $password)
Connect-ExchangeOnline -Credential $credential

标签: powershellmicrosoft-graph-apioffice365exchange-server

解决方案


要扩展 Sceptalist 提出的观点,您将通过在 AzureAD 中创建服务主体、在 Exchange Online 中为其分配适当的权限,然后设置基于证书或基于客户端机密的身份验证来做到这一点。这种方法取代了您现有的用于运行脚本的交互式用户,并且不涉及 MFA,因为它不是传统用户。

更多信息可以在这里找到: https ://www.michev.info/Blog/Post/2997/connecting-to-exchange-online-powershell-via-client-secret-flow


推荐阅读