我们目前正在使用 Exchange 版本 14.3(Build 123.4)。
似乎每天我上班时,用户都在抱怨 Outlook 中的搜索功能无法使用(我的电脑上已证实)。用户使用的是各种版本的 Outlook,但大多数使用的是 2010 或 2013。他们都没有在缓存模式下使用它。
我不确定究竟是什么让它再次运行,但我一直在尝试以下方法:
重新启动以下服务:“Microsoft Search (Exchange)”和“Microsoft Exchange Active Directory Topology”(以及所有需要它们的服务)。这两者之间似乎涵盖了相当多的 Exchange 服务。
第一天搜索在我执行此操作后不久就开始工作了。所有其他搜索,我最终从 shell 执行了“.\ResetSearchIndex.ps1 -force -all”。当然,重置索引后可能需要一些时间才能重新建立并工作 - 如果这根本没问题的话。也许我做这些任务所花的时间就是解决问题。
看来 ResetSearchIndex.ps1 不是必需的 - 但使用“Microsoft Exchange Active Directory Topology”重新启动的服务之一是必需的(但不是使用“Microsoft Search(Exchange)”重新启动的服务)。
运行Test-ExchangeSearch -Identity <username> -Verbose
会产生 MapiExecption“无法 SetSear”,然后消息会从控制台窗口截断,如下所示:
VERBOSE: [14:36:32.975 GMT] Test-ExchangeSearch : Initializing Active Directory server settings for the remote Windows
PowerShell session.
VERBOSE: [14:36:33.162 GMT] Test-ExchangeSearch : Active Directory session settings for 'Test-ExchangeSearch' are: View
Entire Forest: 'False', Default Scope: 'domain.com', Configuration Domain Controller:
'gc.domain.com', Preferred Global Catalog: 'gc.domain.com', Preferred Domain
Controllers: '{ gc.domain.com }'
VERBOSE: [14:36:33.162 GMT] Test-ExchangeSearch : Runspace context: Executing user:
domain.com/Users/ExchangeSearchAdmin, Executing user organization: , Current organization: , RBAC-enabled: Enabled.
VERBOSE: [14:36:33.162 GMT] Test-ExchangeSearch : Beginning processing &
VERBOSE: [14:36:33.381 GMT] Test-ExchangeSearch : Instantiating handler with index 0 for cmdlet extension agent "Admin
Audit Log Agent".
VERBOSE: [14:36:33.537 GMT] Test-ExchangeSearch : Current ScopeSet is: { Recipient Read Scope: {{, }}, Recipient Write
Scopes: {{, }}, Configuration Read Scope: {{, }}, Configuration Write Scope(s): {{, }, }, Exclusive Recipient Scope(s):
{}, Exclusive Configuration Scope(s): {} }
VERBOSE: [14:36:33.599 GMT] Test-ExchangeSearch : Searching objects "user" of type "ADUser" under the root "$null".
VERBOSE: [14:36:34.192 GMT] Test-ExchangeSearch : Previous operation run on domain controller
'gc.domain.com'.
VERBOSE: [14:36:34.207 GMT] Test-ExchangeSearch : Processing object "domain.com/Org Name/Users/User Name".
VERBOSE: [14:36:34.738 GMT] Test-ExchangeSearch : Searching objects "Mailbox Database" of type "MailboxDatabase" under
the root "$null".
VERBOSE: [14:36:34.785 GMT] Test-ExchangeSearch : Previous operation run on domain controller
'gc.domain.com'.
VERBOSE: [14:36:34.831 GMT] Test-ExchangeSearch : Admin Audit Log: Entered Handler:Validate.
VERBOSE: [14:36:34.847 GMT] Test-ExchangeSearch : Admin Audit Log: Entered ClassFactory:InitializeConfig.
VERBOSE: [14:36:34.925 GMT] Test-ExchangeSearch : Admin Audit Log: Exited ClassFactory:InitializeConfig.
VERBOSE: Testing Exchange Search.
VERBOSE: [14:36:35.206 GMT] Test-ExchangeSearch : Resolved current organization: .
VERBOSE: [14:38:36.061 GMT] Test-ExchangeSearch : Getting catalog state for Mailbox Database "Mailbox Database"...
VERBOSE: [14:38:36.124 GMT] Test-ExchangeSearch : Catalog state: Notifications.
VERBOSE: [14:38:36.139 GMT] Test-ExchangeSearch : Getting the indexing state for mailbox "User Name" ...
VERBOSE: [14:38:36.155 GMT] Test-ExchangeSearch : Mailbox state: Done, Crawl start time: 2015-03-30T13:32:00.
VERBOSE: [14:38:36.748 GMT] Test-ExchangeSearch : Getting the message indexing state...
VERBOSE: [14:38:37.653 GMT] Test-ExchangeSearch : Document state: Queued, state = 0.
VERBOSE: [14:38:37.668 GMT] Test-ExchangeSearch : TimeSinceLastNotificationWasIndexed for MDB Mailbox Database is 337
seconds.
Database Server Mailbox ResultFound SearchTime Error
InSeconds
-------- ------ ------- ----------- ---------- -----
Mailbox D... SERVER-NAME User Name... False -1 Time out for test thread.
VERBOSE: [14:38:37.777 GMT] Test-ExchangeSearch : Admin Audit Log: Entered Handler:OnComplete.
VERBOSE: [14:38:37.840 GMT] Test-ExchangeSearch : Ending processing &
答案1
由于我的研究没有进展,我们最终联系了第三方来帮助我们解决问题。
技术人员开始重试问题和评论中提到的所有内容。
事实证明,构建信息并非 100% 准确,因为我从错误的来源获取了它。真正的构建信息显示我们在 Rollup 8 上。
技术人员建议我们安装 Rollup 9(最新版本)。我周六就安装了。周一,搜索没有像原始问题那样出现错误,但也没有给出正确的结果。所以我再次运行 ResetSearchIndex.ps1 来重建搜索索引。
自从索引重建以来,它一直运行良好(现在已经 3 天了),而以前每天都会出现问题。看来 Rollup 9 解决了我们遇到的所有问题。
答案2
在安装更新汇总后完全重建索引之前(这是一个耗时的操作),您可以尝试修复索引引擎:
转到程序和功能(或启动 appwiz.cpl),然后在 Exchange 服务器上选择“Microsoft Full Text Indexing Engine for Exchange”,然后选择修复。
等待几分钟,该功能将再次开始运行。
如果这不起作用,则继续重建索引 - 从 Exchange 管理控制台运行 ResetSearchIndex.ps1。