В настоящее время мы используем Exchange версии 14.3 (сборка 123.4).
Кажется, что каждый день, когда я захожу, пользователи жалуются, что поиск не работает в Outlook (подтверждено на моей машине). Пользователи используют различные версии Outlook, но большинство из них - 2010 или 2013. Ни одна из них не использует его в режиме кэширования.
Я не уверен, что на самом деле заставляет это работать снова, но я пробовал следующее:
Перезапуск следующих служб: «Microsoft Search (Exchange)» и «Топология Microsoft Exchange Active Directory» (плюс все службы, которым они требуются). Между этими двумя, кажется, покрывает изрядное количество услуг обмена.
Поиски в первый день начали работать вскоре после того, как я это сделал. Все остальные, я закончил тем, что сделал ". \ ResetSearchIndex.ps1 -force -all" из оболочки. Конечно, после сброса индекса может потребоваться некоторое время, чтобы он снова заработал и заработал - если это вообще его исправляет. Возможно, именно то время, которое у меня уходит на выполнение этих задач, решает проблему.
Похоже, что ResetSearchIndex.ps1 не нужен, но одна из служб, которая перезапускается с «топологией Microsoft Exchange Active Directory» (хотя ни одна из них не перезапускается с «Microsoft Search (Exchange)»).
Бег Test-ExchangeSearch -Identity <username> -Verbose
выдает MapiExecption "Unable to 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 &
Перед выполнением полной перестройки индекса после установки накопительного пакета обновлений (операция, требующая много времени) вы можете попробовать восстановить механизм индексирования:
Перейдите в раздел «Программа и компоненты» (или запустите appwiz.cpl), выберите «Microsoft Full Text Indexing Engine для Exchange» на сервере Exchange и выберите «Восстановить».
Подождите несколько минут, и функция снова заработает.
Если это не сработает, продолжите перестройку индекса, запустив ResetSearchIndex.ps1 из консоли управления Exchange.
В итоге мы обратились к третьему лицу, чтобы помочь с нашей проблемой, поскольку мои исследования ни к чему не привели.
Техник начал повторять все, что было упомянуто в вопросе и комментариях.
Оказывается, информация о сборке не была на 100% точной, поскольку я взял ее из неправильного источника. Реальная информация о сборке показала, что мы использовали Rollup 8.
Техник предложил установить Rollup 9 (последнюю версию). Я сделал это в субботу. В понедельник поиск не выдавал ошибок, как исходная проблема, но и не давал должных результатов. Поэтому я снова запустил ResetSearchIndex.ps1, чтобы восстановить индекс поиска.
С тех пор, как индекс был перестроен, он работает нормально (3 дня), тогда как раньше проблема возникала ежедневно. Похоже, Rollup 9 исправил все, что у нас было.