1

Microsoft 将于2020 年 10 月 13 日终止对 Exchange Online 远程 powershell 中的基本身份验证的支持。

服务器到服务器的通信可以使用带有基本身份验证的 System.Management.Automation.Runspaces.WSManConnectionInfo 类来完成。当不再支持基本身份验证时,本地守护程序应用程序在 Exchange Online 中运行远程 powershell的受支持方式是什么?

4

2 回答 2

2

假设您的守护程序应用程序使用的是没有 MFA 的服务帐户 ID,那么您可以利用新的V2 Exchange 在线管理PowerShell 模块使用现代身份验证连接到 EXO。它为您处理所有事情,因此您仍然可以使用您的服务帐户用户名和密码凭据启动连接,并且该模块将使用这些凭据从 Azure AD 获取令牌,然后使用 Modern Auth 向 EXO 进行身份验证。如果您的服务帐户凭据由单独的密码保险库解决方案管理,则效果很好。如果您不能使用基于凭据的身份验证,那么 Microsoft 正在对 EXO 模块进行更新,该模块将允许您使用已注册的 Azure AD 应用程序和基于证书的身份验证对 EXO 进行身份验证。那应该快了……

于 2020-05-05T13:10:40.693 回答
2

如果您不想重写远程 PowerShell 代码以使用上面 @stukey 显示的新 V2 Exchange Online 管理模块,您可以使用另一种解决方法,即使用 ADAL(或类似库)从 AzureAD 获取访问令牌,然后在构建您的PSCredential.

如果您添加?BasicAuthToOAuthConversion=true到连接 URI,则服务器将从基本身份验证标头中提取令牌,并改为使用带有令牌的现代身份验证。

解决方法在此处进行了概述,并由 Microsoft在此处进行了半记录。

于 2020-06-11T13:41:54.717 回答