不再支持基本身份验证时,如何在服务器之间运行Exchange Online远程Powershell服务器?

时间:2020-02-03 10:26:15

标签: exchange-basicauth

微软将于end support for basic authentication in Exchange Online remote powershell 2020年10月13日。

可以使用具有基本身份验证的System.Management.Automation.Runspaces.WSManConnectionInfo类完成服务器到服务器的通信。当不再支持基本身份验证时,内部部署daemon application在Exchange Online中运行远程Powershell的受支持方式是什么?

2 个答案:

答案 0 :(得分:1)

假定后台驻留程序应用程序使用的是不带MFA的服务帐户ID,则可以使用新的V2 Exchange Online Management PowerShell模块使用Modern Auth连接到EXO。它可以为您处理所有事情,因此您仍然可以使用服务帐户用户名和密码凭据来发起连接,并且该模块将使用这些凭据从Azure AD获取令牌,然后使用Modern Auth对EXO进行身份验证。如果您的服务帐户凭据由单独的密码保险库解决方案管理,则效果很好。如果您不能使用基于凭据的身份验证,则Microsoft正在开发EXO模块的更新,该更新将允许您使用已注册的Azure AD应用程序和基于证书的身份验证对EXO进行身份验证。那应该很快就会出现...

答案 1 :(得分:1)

如果您不想重写远程PowerShell代码以使用上面@stukey所示的新V2 Exchange在线管理模块,则可以使用替代方法,方法是使用ADAL(或类似的库)来获取访问令牌来自AzureAD,然后在构造PSCredential时使用令牌作为密码。

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

变通办法已概述here,并由Microsoft here进行了半文档化。