powershell - 如何使用 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
解决方案
要扩展 Sceptalist 提出的观点,您将通过在 AzureAD 中创建服务主体、在 Exchange Online 中为其分配适当的权限,然后设置基于证书或基于客户端机密的身份验证来做到这一点。这种方法取代了您现有的用于运行脚本的交互式用户,并且不涉及 MFA,因为它不是传统用户。
更多信息可以在这里找到: https ://www.michev.info/Blog/Post/2997/connecting-to-exchange-online-powershell-via-client-secret-flow
推荐阅读
- windows - PGAdmin 4 调试器不工作?在 Windows 10 x64 上
- vim - 有什么方法可以在 Vim 中的行号后添加额外的空格?
- webpack-dev-server - 使用纱线工作区时出现错误的 webpack 开发服务器
- spring-boot - Spring Boot 应用程序无法启动端口可能已在使用错误
- c# - 管道请求有问题。系统只是退出并且不继续
- javascript - React Native 响应儿童新闻事件
- bash - bash - 拆分字符串时失败,但 zsh 正在工作
- r - 条形图子组因子重新排序不起作用
- intellij-idea - Cannot run @QuarkusTest annotated unit tests with IntelliJ IDEA
- android - 按缺口切割应用程序