繁体   English   中英

使用 PowerShell 连接到 Exchange 2019 EWS 时出错

[英]Error connecting to Exchange 2019 EWS with PowerShell

我从 Exchange 2016 迁移到 2019。我有一个 PowerShell 脚本,用于使用 EWS 连接到 Exchange 以访问用户的收件箱。 它一直在连接失败。 我试着看看 2016 年到 2019 年是否有什么不同,但结果是空的。 这是我用来连接到 2016 的代码

Add-Type -Path "C:\Program Files\Microsoft\Exchange\Web Services\2.2\Microsoft.Exchange.WebServices.dll"
$User_Domain = "domain"
$Password = "user_pass"
$EWS = New-Object Microsoft.Exchange.WebServices.Data.ExchangeService -ArgumentList "Exchange2013"
$EWS.Url = "https://mail19.server.com/EWS/Exchange.asmx"
$Username = "username"
$EWS.Credentials = New-Object System.Net.NetworkCredential -ArgumentList $Username, $Password, $User_Domain

$inbox = [Microsoft.Exchange.WebServices.Data.Folder]::Bind($EWS,[Microsoft.Exchange.WebServices.Data.WellKnownFolderName]::Inbox)

当我运行最后一行时,出现此错误:

Exception calling "Bind" with "2" argument(s): "The request failed. The underlying connection was closed: An unexpected error occurred on a send."
At line:1 char:1
+ $inbox = [Microsoft.Exchange.WebServices.Data.Folder]::Bind($EWS,[Mic ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : ServiceRequestException

这在我 2016 年的旧交换服务器上运行良好。 我想知道是否需要调整 Exchange 上的某些内容,或者是否需要调整代码才能与 Exchange 2019 一起使用。我可以访问 EWS url 并使用用户名/密码登录。

好的,在搜索互联网后,Exchange 2019 强制执行 TLS1.2 似乎是一个问题。 我将以下行添加到 powershell 脚本中,错误消失了

[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12;

希望能帮助别人

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM