我潜伏在这里和 StackExchange 上(想象一下,当我发现他们是同一群人,只是不同时,我会多么惊讶),多年来一直使用问答,直到现在我遇到了一个让我头疼的障碍。因此,在与该网站斗争了一个多小时后,我最初在 StackExchange 上发布了这篇文章,因为我已经看到了许多有关 MS Exchange 问题的主题和对话,但有人指出它应该在这里,而 StackExchange 只用于“编程”问题。所以我删除了它并将其移到这里。我仍然认为,如果您只想问编程问题,那么请删除网站该部分的所有非编程问题。我只把它发布在那里,因为我已经看过很多其他帖子,并且多次使用了这些帖子。
事实上,顶部搜索栏旁边的徽标仍然显示“StackExchange”,虽然我认为该网站的品牌令人困惑,但这就是我认为 StackExchange 是它需要去的地方的原因。是的,在争吵了一个多小时后,我很沮丧,而且确实有人对这次经历有三分之二的看法;但是,也许添加一个“这可能不是编码”通知,并带有重定向到 ServerFault 或 meta 或任何其他选项的选项也会有所帮助。所以,我删除了这个问题,并在这里重新发布。
谈谈当前的问题...
在过去一个月左右的时间里,我们一直在处理 OWA 和 ECP 访问不稳定且超级慢的问题。前一分钟,它们在登录时加载需要 1-2 秒,下一分钟则需要 5 分钟才能登录,再过 2 分钟才能显示第一个邮件项目。这种情况似乎随机地来回反复。此外,在 EMS 中运行命令时,我收到一些“由于线程退出或应用程序请求,I/O 操作已中止。+ FullyQualifiedErrorId:JobFailure
全面披露 我总共运行了 (3) 个不同的部署:2 个是单域(1 个 Server 2019 环境和 1 个 Server 2022),1 个是林/多域(所有 Server 2019 环境)。所有这些环境都作为虚拟机在 Proxmox 虚拟环境上运行。我在 Server 2022、单域、本地 Exchange 部署方面遇到了问题,但其他方面没有问题。
这是当前的 VM 硬件设置(请注意:站点 A 和站点 B 通过 VPN 连接):站点 A(在 AD 站点和服务中配置为“站点 A”,子网为 10.2.0.0/16)
- DC01 (Windows Server 2022)
- 虚拟机
- 4 个处理器(2 个插槽,每个插槽 4 个核心)
- 8 GiB 内存
- Nic 1 - 10.2.0.11 (intINet)
- DNS 1 = 10.1.0.11
- DNS 2 = 127.0.0.1
- 虚拟机
- EXCH01(带有 Exchange 2019 CU14 的 Windows Server 2022)
- 虚拟机
- 16 个处理器(2 个插槽,每个插槽 8 个核心)
- 164 GiB 内存
- Nic 1 - 10.2.0.13 (intINet)
- 路由 10.1.0.0 && 10.2.0.0 至 10.2.0.1
- DNS 1 = 10.1.0.11 (DC02)
- DNS 2 = 10.2.0.11 (DC01)
- Nic 2 - public_ip_address (extINet)
- DNS 1 = 10.1.0.11 (DC02)
- DNS 2 = 10.2.0.11 (DC01)
- 虚拟机
站点 B(在 AD 站点和服务中配置为“站点 B”,子网为 10.1.0.0/16)
- DC02 (Windows Server 2022)
- 虚拟机
- 4 个处理器(2 个插槽,每个插槽 4 个核心)
- 8 GiB 内存
- Nic 1 - 10.1.0.11 (intINet)
- DNS 1 = 10.2.0.11
- DNS 2 = 127.0.0.1
- 虚拟机
关于我迄今为止尝试过的事情......
我尝试的第一件事是将整个实例移至新服务器。但没有任何改善。
我还验证了 DNS 设置是否正确(参见上文)
当我使用 Microsoft Remote Connectivity Analyzer 时,我得到以下结果:
Exchange ActiveSync(手动指定服务器设置) - 我收到以下错误:请注意:此测试先前已通过,仅存在“根证书” SSL 问题。
- 正在尝试与服务器进行 ActiveSync 会话。
- 尝试向服务器发送 OPTIONS 命令 - PASS
- 尝试在 Exchange ActiveSynce 会话中执行 FolderSyncCommand - 失败
- 其他详细信息:Exchange ActiveSync 返回 HTTP 503 响应(服务不可用)。
- 正在尝试与服务器进行 ActiveSync 会话。
Exchange ActiveSync(自动发现服务器设置) - 在 CORRECT-DOMAIN-REMOVED-FOR-LIMITATIONS/Autodiscover/Autodiscover.xml 检查时收到以下错误:
- 尝试测试潜在的自动发现 URL CORRECT-DOMAIN-REMOVED-FOR-LIMITATIONS/Autodiscover/Autodiscover.xml - 失败(在 Web 服务器上不存在)
- 尝试测试潜在的自动发现 URL https://autodiscover.example.com:443/Autodiscover/Autodiscover.xml - 失败(这应该通过)请注意:当我访问https://autodiscover.example.com/Autodiscover/Autodiscover.xml时,它有时会立即要求输入用户/密码,有时需要 30-45 秒
- 尝试解析主机名 - PASS
- 测试主机上的 TCP 端口 443 - 通过
- 测试 SSL 证书 - 通过
- 尝试向潜在的自动发现 URL 发送自动发现 POST 请求 - 失败
- Microsoft Connectivity Analyzer 正在尝试从 URL CORRECT-DOMAIN-REMOVED-FOR-LIMITATIONS/Autodiscover/Autodiscover.xml 检索用户[email protected]的 XML 自动发现响应。Microsoft Connectivity Analyzer 未能获取自动发现 XML 响应。其他详细信息:异常详细信息:消息:操作已超时类型:System.Net.WebException 堆栈跟踪:位于 System.Net.HttpWebRequest.GetResponse() 位于 Microsoft.M365.RCA.Services.RcaHttpRequest.GetResponse()
- 尝试使用 HTTP 重定向方法联系自动发现服务 - 失败(未配置 HTTP 重定向)
- 尝试使用 DNS SRV 重定向方法联系自动发现服务 - 失败(未配置)
我还运行了以下命令,下面列表是带有编辑后的域信息的输出:命令:
Get-OabVirtualDirectory | fl 服务器,名称,URL,身份验证 Get-WebServicesVirtualDirectory | fl 服务器,名称,URL,身份验证,MRSProxyEnabled Get-EcpVirtualDirectory | fl 服务器,名称,URL,身份验证 Get-OwaVirtualDirectory | fl 服务器,名称,URL,身份验证 Get-ActiveSyncVirtualDirectory | fl 服务器,名称,URL,身份验证 Get-ClientAccessService | fl 名称,OutlookAnywhereEnabled,AutodiscoverServiceInternalUri Get-ExchangeCertificate | fl FriendlyName,Subject,CertificateDomains,服务,颁发者,非,状态 Get-OutlookAnywhere | fl 服务器,名称,URL,主机名,身份验证 Get-MapiVirtualDirectory | fl 服务器,名称,URL,身份验证 Get-OrganizationConfig | fl mapi Get-ClientAccessArray | fl 获取 OutlookProvider 获取 ExchangeServer | fl 名称,管理员,静态*
Creating a new session for implicit remoting of "Get-OabVirtualDirectory" command...
( Get-OabVirtualDirectory | fl server, Name, *URL*, *auth* )
Server : EXCH01
Name : OAB (Default Web Site)
InternalUrl : CORRECT-DOMAIN-REMOVED-FOR-LIMITATIONS/OAB
ExternalUrl : CORRECT-DOMAIN-REMOVED-FOR-LIMITATIONS/OAB
BasicAuthentication : False
WindowsAuthentication : True
OAuthAuthentication : True
InternalAuthenticationMethods : {WindowsIntegrated, OAuth}
ExternalAuthenticationMethods : {WindowsIntegrated, OAuth}
( Get-WebServicesVirtualDirectory | fl server, Name, *URL*, *auth*, MRSProxyEnabled )
Server : EXCH01
Name : EWS (Default Web Site)
InternalNLBBypassUrl :
InternalUrl : CORRECT-DOMAIN-REMOVED-FOR-LIMITATIONS/ews/exchange.asmx
ExternalUrl : CORRECT-DOMAIN-REMOVED-FOR-LIMITATIONS/ews/exchange.asmx
CertificateAuthentication :
InternalAuthenticationMethods : {Ntlm, WindowsIntegrated, WSSecurity, OAuth}
ExternalAuthenticationMethods : {Ntlm, WindowsIntegrated, WSSecurity, OAuth}
LiveIdNegotiateAuthentication :
WSSecurityAuthentication : True
LiveIdBasicAuthentication : False
BasicAuthentication : False
DigestAuthentication : False
WindowsAuthentication : True
OAuthAuthentication : True
AdfsAuthentication : False
MRSProxyEnabled : False
( Get-EcpVirtualDirectory | fl server, Name, *URL*, *auth* )
Server : EXCH01
Name : ecp (Default Web Site)
InternalUrl : CORRECT-DOMAIN-REMOVED-FOR-LIMITATIONS/ecp
ExternalUrl : CORRECT-DOMAIN-REMOVED-FOR-LIMITATIONS/ecp
InternalAuthenticationMethods : {Basic, Fba}
BasicAuthentication : True
WindowsAuthentication : False
DigestAuthentication : False
FormsAuthentication : True
LiveIdAuthentication : False
AdfsAuthentication : False
OAuthAuthentication : False
ExternalAuthenticationMethods : {Fba}
( Get-OwaVirtualDirectory | fl server, Name, *URL*, *auth* )
Starting a command on the remote server failed with the following error message : The I/O operation has been aborted because of either a thread exit or an application request. For more information, see the about_Remote_Troubleshooting Help topic.
+ CategoryInfo : OperationStopped: (exch01.example.local:String) [], PSRemotingTransportException
+ FullyQualifiedErrorId : JobFailure
+ PSComputerName : exch01.example.local
“JobFailure”块段实际上重复了 10 次。
我可以删除“已完成的命令”并慢慢完成该集合。结果如下:
( Get-OwaVirtualDirectory | fl server, Name, *URL*, *auth* )
Server : EXCH01
Name : owa (Default Web Site)
Url : {}
InternalSPMySiteHostURL :
ExternalSPMySiteHostURL :
SetPhotoURL :
Exchange2003Url :
FailbackUrl :
InternalUrl : CORRECT-DOMAIN-REMOVED-FOR-LIMITATIONS/owa
ExternalUrl : CORRECT-DOMAIN-REMOVED-FOR-LIMITATIONS/owa
ClientAuthCleanupLevel : High
InternalAuthenticationMethods : {Basic, Fba}
BasicAuthentication : True
WindowsAuthentication : False
DigestAuthentication : False
FormsAuthentication : True
LiveIdAuthentication : False
AdfsAuthentication : False
OAuthAuthentication : False
ExternalAuthenticationMethods : {Fba}
( Get-ActiveSyncVirtualDirectory | fl server, Name, *URL*, *auth* )
Server : EXCH01
Name : Microsoft-Server-ActiveSync (Default Web Site)
MobileClientCertificateAuthorityURL :
InternalUrl : CORRECT-DOMAIN-REMOVED-FOR-LIMITATIONS/Microsoft-Server-ActiveSync
ExternalUrl : CORRECT-DOMAIN-REMOVED-FOR-LIMITATIONS/Microsoft-Server-ActiveSync
MobileClientCertificateAuthorityURL :
BasicAuthEnabled : True
WindowsAuthEnabled : False
ClientCertAuth : Ignore
InternalAuthenticationMethods : {}
ExternalAuthenticationMethods : {}
( Get-ClientAccessService | fl Name, OutlookAnywhereEnabled, AutodiscoverServiceInternalUri )
Name : EXCH01
OutlookAnywhereEnabled : True
AutoDiscoverServiceInternalUri : https://autodiscover.example.com/Autodiscover/Autodiscover.xml
( Get-ExchangeCertificate | fl FriendlyName, Subject, CertificateDomains, Services, Issuer, *not*, Status ))
FriendlyName : mail.example.com [Certify] - 5/15/2024 3:08:09 PM to 8/13/2024 3:08:08 PM
Subject : CN=mail.example.com
CertificateDomains : {mail.CORRECT-DOMAIN-REMOVED-FOR-LIMITATIONS, attachments.example.CORRECT-DOMAIN-REMOVED-FOR-LIMITATIONS, autodiscover.CORRECT-DOMAIN-REMOVED-FOR-LIMITATIONS, webmail.CORRECT-DOMAIN-REMOVED-FOR-LIMITATIONS}
Services : IMAP, POP, IIS, SMTP
Issuer : CN=R3, O=Let's Encrypt, C=US
NotAfter : 8/13/2024 3:08:08 PM
NotBefore : 5/15/2024 3:08:09 PM
Status : Valid
FriendlyName : Microsoft Exchange Server Auth Certificate
Subject : CN=Microsoft Exchange Server Auth Certificate
CertificateDomains : {}
Services : SMTP
Issuer : CN=Microsoft Exchange Server Auth Certificate
NotAfter : 9/30/2027 5:59:59 PM
NotBefore : 10/26/2022 5:59:59 PM
Status : Valid
FriendlyName : Microsoft Exchange
Subject : CN=EXCH01
CertificateDomains : {EXCH01, EXCH01.CORRECT-DOMAIN-REMOVED-FOR-LIMITATIONS}
Services : IIS, SMTP
Issuer : CN=EXCH01
NotAfter : 10/26/2027 5:57:07 PM
NotBefore : 10/26/2022 5:57:07 PM
Status : Valid
FriendlyName : WMSVC-SHA2
Subject : CN=WMSvc-SHA2-EXCH01
CertificateDomains : {WMSvc-SHA2-EXCH01}
Services : None
Issuer : CN=WMSvc-SHA2-EXCH01
NotAfter : 10/23/2032 3:47:25 PM
NotBefore : 10/26/2022 3:47:25 PM
Status : Valid
( Get-OutlookAnywhere | fl server, Name, *URL*, *hostname*, *auth* )
Server : EXCH01
Name : Rpc (Default Web Site)
XropUrl :
ExternalHostname : CORRECT-DOMAIN-REMOVED-FOR-LIMITATIONS
InternalHostname : CORRECT-DOMAIN-REMOVED-FOR-LIMITATIONS
ExternalClientAuthenticationMethod : Negotiate
InternalClientAuthenticationMethod : Ntlm
IISAuthenticationMethods : {Basic, Ntlm, Negotiate}
( Get-MapiVirtualDirectory | fl server, Name, *URL*, *auth* )
Server : EXCH01
Name : mapi (Default Web Site)
InternalUrl : CORRECT-DOMAIN-REMOVED-FOR-LIMITATIONS
ExternalUrl : CORRECT-DOMAIN-REMOVED-FOR-LIMITATIONS
IISAuthenticationMethods : {Negotiate}
InternalAuthenticationMethods : {Negotiate}
ExternalAuthenticationMethods : {Negotiate}
( Get-OrganizationConfig | fl *mapi* )
MapiHttpEnabled : True
( Get-ClientAccessArray | fl )
NO RESULTS RETURNED
( Get-OutlookProvider )
Name Server CertPrincipalName TTL
---- ------ ----------------- ---
EXCH 1
EXPR 1
WEB 1
Get-ExchangeServer | fl name, *admin*, static* >>
Name : EXCH01
AdminDisplayVersion : Version 15.2 (Build 1544.4)
StaticDomainControllers : {}
StaticGlobalCatalogs : {}
StaticConfigDomainController :
StaticExcludedDomainControllers : {}
在我的“具有数据库可用性的 Microsoft Exchange”事件日志中,我只看到
- 证书过期时显示“错误”
- 沃森报告的“错误”
- MSExchange ActiveSync 的“警告”是“Web.Config 文件中缺少设置 LiveIdBasicAuthModule.ApplicationName。使用默认值。”其他所有内容均为“信息”
在我的“管理事件”事件日志中,我看到了上述内容以及以下内容:
- “错误” Schannel - 创建 TLS 客户端凭据时发生致命错误。内部错误状态为 10013。SSPI 客户端处理为 SYSTEM。
- “警告”MSExchange 中间层存储 - 活动管理器客户端已在另一个线程上对对象“XXX”进行查询,但该线程未在 100 毫秒内完成。
在我的“服务器角色 Web 服务器(IIS)”事件日志中,我看到以下内容:
- “警告” WAS - 正在处理的应用程序池“MSExchangeSyncAppPool”与 Windows 进程激活服务发生致命通信错误。进程 ID 为“XXXX”。数据字段包含错误编号。
仅今天就发生了 41 起此类事件(从 5 月 29 日 12:14 CST 到 5 月 29 日 20:44 CST)
有些人认为这是 DNS 问题;但是,它可以 ping 域控制器,如果这是 DNS 不匹配的问题,当我关闭 DC02 时它应该已经解决了该问题;但是,事实并非如此。
其他人建议重建所有虚拟目录;但是在安装 CU14 更新之前系统很慢......CU14 更新不会重建/重置虚拟目录吗?
我拥有的其他 (2) 个 Exchange 环境最多允许您在 1-2 秒内登录。当然,它们运行的是 Server 2019 CU10 和 CU11(客户告诉我不要更新它们中的任何一个,所以我无能为力。
我愿意接受这里的任何建议。
先感谢您!
更新时间:202040530 @ 17:30 CST
昨晚(20240529)我想测试 DNS 问题理论,于是我禁用了 DC02 VM 上的网络,然后将其关闭。什么都没有改变。事实上,情况变得更糟了。
快进到 10 分钟前(20240530@1720Hrs CST),我正用头撞桌子,决定换它们。我重新启用了 DC02 上的网络,并禁用了 DC01 上的网络。瞧,3 分钟内它就正常运行了。在 OWA 和 ECP 上登录需要 2-3 秒。通过 EMS 连接很快。这才是应该的。
因此,这不是 Exchange 问题,而是域控制器问题。当我可以重新激活网络时,我将在 DC01 上运行 DCDiag,届时我将在下面发布结果。
更新 - DCDIAG 结果:20240530@2140Hrs CST
正如我之前提到的,以下是运行 dcdiag 的结果。请注意,我更改了城市名称和服务器名称。请注意:事件日志中有一系列 DFSREvents。这是当我 A.) 关闭 DC02 上的网络适配器或最近关闭 DC01 上的网络适配器以进行测试并发现问题出在 DC01 上时发生的。
除了由于 NIC 适配器被禁用而导致的错误之外,我没有看到任何可以解释为什么 DC01 导致各种交换问题,但 DC02 却没问题。
请参阅此链接了解 dcdiag 结果:https://pastebin.com/Ckwe5RdF
更新: 20240601@1722Hrs - 诊断请求
我被要求做一些额外的诊断步骤,但我无法在这里粘贴所有的信息。
请参阅此链接了解完整概述: https://pastebin.com/x6nkBnkM
大家下午好,我想为以后可能遇到此问题的任何人提供针对此特定问题的解决方案的更新。
有人建议停用 DC01,并在与 DC01/EXCH01 相同的站点中,在单独的 IP 地址上启动 DC00。我这样做了,它确实在短时间内起作用,但在 36 小时内问题又出现了,再次需要 3-4 分钟才能登录,还需要 1-2 分钟才能查看第一个电子邮件地址。所以,这不是答案。
我接下来在 DC00、DC01、DC02 和 EXCH-01 上设置了 wireshark,并在有人尝试登录时观察流量。在此期间,似乎有些流量没有到达那里,但并不一致,最终在日志中我会看到一个 ADTopology“信息”事件,表明它将与 DC00/DC01 断开连接。
This made me look into the persistent routes on the Exchange server. Right now there was a persistent route for 10.2.0.0/16 and 10.1.0.0/16 all going through 10.2.0.1. I looked at some of my other deployments and they all had 10.0.0.0/8 persistent routes. So I modified to match, and of course then the Exchange server was not able to ping anything in the 10.1.0.0/16 network.
I was a little baffled and decided to look at the router logs and see what was happening to the traffic going to 10.1.0.0/16. As this was a VPN Site-to-Site link using OpenVPN on our pfsense router I started with the OpenVPN logs. Nothing stood out so I started looking at all of the other logs.
Eventually I wokred my way to the firewall log, and imagine my suprise but there was a lot of traffic being blocked across the LAN network, and when I looked closer it was all from EXCH-01 to DC00 and DC01, specifically port 3268. Why this was being blocked, I do not know; however, it was, and after fixing the previous persistent route issues, restarting the server, and then creating a rule to allow that traffic from EXCH-01 to DC01 everything started to work normally. Login times are down to less than 3 seconds on OWA and ECP both local and using external addresses.
Now, why did the pfSense router's firewall all the sudden decide that SOME of the traffic to port 3268 should be blocked across the lan interface? I have no idea. That is an issue for another time. However, had I not broken the persistent routing, there is no telling how long it would have taken me to figure this issue out.