症状
升级到 Microsoft Exchange Server 2019 的累积更新 3 或 Exchange Server 2016 的累积更新 14 后,收到以下错误消息:
日志名称:应用程序
源: MSExchange 自动发现
Date: DateTime
事件 ID:1
任务类别:Web
级别:错误
关键字:经典
用户: 不适用
计算机: ComputerName
说明:
未处理的异常“对象引用未设置为对象的实例。”
堆栈跟踪:位于 Microsoft.Exchange.AutoDiscoverV2.FlightSettingRepository.GetHostNameFromVdir (ADObjectId serverSiteId,字符串协议)
在 Microsoft.Exchange.AutoDiscoverV2.AutoDiscoverV2.ExecuteOnPremEndFlow (AutoDiscoverV2Request 请求)
在 Microsoft.Exchange.AutoDiscoverV2.AutoDiscoverV2.Execute (AutoDiscoverV2Request 请求、ITenantRepository tenantRepository)
位于 Microsoft.Exchange.AutoDiscoverV2.AutoDiscoverV2HandlerBase。<>c__DisplayClass11_0。<ProcessRequest>b__0 ()
位于 Microsoft.Exchange.Common.IL.ILUtil.DoTryFilterCatch (Action tryDelegate, Func'2 filterDelegate, Action'1 catchDelegate)
解决方法
若要解决此问题,应检查以下虚拟目录的外部 URL:
Get-WebServicesVirtualDirectory -server YourExchangeServerName |fl name, *url*
Get-AutodiscoverVirtualDirectory -server YourExchangeServerName |fl name, *url*
Get-ActiveSyncVirtualDirectory -server YourExchangeServerName |fl name, *url*
如果外部 URL 为空,请为与公共 FQDN 对应的外部 URL 赋值。
示例:
第 1 步:使用以下 cmdlet 检查自动发现 URL。
Get-AutodiscoverVirtualDirectory -server YourExchangeServerName |fl name, *url*
名称:默认网站) (自动发现
InternalUrl :
ExternalUrl :
如果 ExternalUrl 为空,请使用步骤 2 将与公共 FQDN 对应的值分配给自动发现外部 URL。
步骤2:使用以下 cmdlet 设置自动发现外部 URL。
Get-AutodiscoverVirtualDirectory -Server YourExchangeServerName |set-AutodiscoverVirtualDirectory -ExternalUrl https://autodiscover.FQDN/Autodiscover/Autodiscover.xml
注意
仅当在新的 PowerShell 会话中添加 PSSnapin 时,才能访问 ExternalUrl, (Exchange Server 2019、Exchange Server 2016 和 Exchange Server 2013 上的 EMS) 。
如果未在新的 PowerShell 会话中添加 PSSnapin,可能会收到错误消息。
例如,运行以下 cmdlet 而无需在新的 PowerShell 会话中添加 PSSnapin:
Get-AutodiscoverVirtualDirectory -Server $env:COMPUTERNAME |Set-AutodiscoverVirtualDirectory -ExternalUrl “https://autodiscover.365labs.net/Autodiscover/Autodiscover.xml”
然后,你会收到以下错误消息:
找不到与参数名称“ExternalUrl”匹配的参数。
CategoryInfo : InvalidArgument: (:) [Set-AutodiscoverVirtualDirectory], ParameterBindingException
完全限定的错误 ID: NamedParameterNotFound,Set-AutodiscoverVirtualDirectory
PSComputerName : ex15.365labs.net
若要解决此问题,应运行以下命令来使 ExternalUrl 可访问:
PS C:\PowerShell> Add-PSSnapin Microsoft.Exchange.Management.PowerShell.E2010
参考资料
了解 Microsoft 用于描述软件更新的术语。
更多信息
Microsoft 已意识到此问题,并将在本文中发布更多信息。