我正在使用下面的代码连接到在线交换,以从.net应用程序查询邮箱。在开发服务器上运行正常,但在生产服务器上运行失败。服务帐户没有问题,因为我可以使用PowerShell
脚本进行在线交流。
var varSecurePwd = new SecureString();
try
{
foreach (var c in strAccountPwd)
{
varSecurePwd.AppendChar(c);
}
PSCredential psCreds = new PSCredential(strAccountName, varSecurePwd);
psConnInfo = new WSManConnectionInfo(new Uri(strExchange2010PSURI), "Microsoft.Exchange", psCreds);
psConnInfo.AuthenticationMechanism = AuthenticationMechanism.Basic;
psRunSpace = RunspaceFactory.CreateRunspace(psConnInfo);
psRunSpace.Open();
psPipeLine = psRunSpace.CreatePipeline();
}
错误:无法连接到远程服务器ps.outlook.com, 以下错误消息:访问被拒绝。有关更多信息,请参见 about_Remote_Troubleshooting帮助主题。
说明:在执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪,以获取有关错误及其在代码中起源的更多信息。
异常详细信息:System.Management.Automation.Remoting.PSRemotingTransportException:连接到远程服务器ps.outlook.com失败,并显示以下错误消息:拒绝访问。有关更多信息,请参见about_Remote_Troubleshooting帮助主题。
答案 0 :(得分:0)
它可能为服务帐户启用了 MFA,因此此命令失败。