Что было. После переезда терминальных серверов с Windows Server 2016 на 2019 пользователи потеряли поиск: в Outlook индексация «никогда не завершается», в параметрах индексирования «0 элементов, индексирование завершено», перестроение индекса ничего не даёт. Профили пользователей хранятся на дисках профилей.
Почему. В Windows Server 2019 сменилась модель поиска: вместо одного общего каталога появился индекс на каждого пользователя. Вместе с ролью узла сеансов RDS это сочетание работало плохо: чистый сервер 2019 индексирует, а после добавления роли RDS индексирование останавливается. Производитель признал ошибку, участники сообщали о тестовом исправлении, но публичного исправления в теме так и не появилось; администраторы пользовались обходом.
Обход, подтверждённый участниками.
- Включить (или явно задать) режим индекса на каждого пользователя:
При обратной проблеме (индекс на пользователя есть, но не заполняется) некоторые администраторы, наоборот, возвращали общий каталог значениемreg add "HKLM\SOFTWARE\Microsoft\Windows Search" /v EnablePerUserCatalog /t REG_DWORD /d 1 /f Restart-Service WSearch -Force0; какой из вариантов сработает, зависит от сборки и профилей, поэтому пробовать оба на тестовой машине. - Перестроить индекс конкретного пользователя без сброса всего сервера: в его ветке
HKEY_USERS\<SID>\Software\Microsoft\Windows SearchсоздатьRebuildIndex = 1(DWORD), перезайти. - Убедиться, что служба Windows Search в режиме «Автоматически (отложенный запуск)» и не отключена политикой «Разрешить использование индексирования»; на RDS её часто отключают ради экономии ресурсов, и тогда Outlook честно ничего не найдёт.
Что важно для дисков профилей. Индекс на пользователя лежит в его профиле; при выгрузке диска профиля индекс должен уезжать вместе с ним, иначе каждый вход начинается с пустого каталога. Проверить, что в исключения профилей не попала папка AppData\Roaming\Microsoft\Search. У сторонних решений для профилей для этого есть отдельные настройки роуминга поиска, и они несовместимы с некоторыми режимами поиска 2019.
Как понять, что у вас именно это. «Параметры индексирования» показывают 0 элементов при работающей службе, журнал Application без ошибок службы поиска, а на сервере без роли RDS та же сборка индексирует. Если же в журнале есть ошибки 3036/3083/7042 от Search, это уже повреждённый индекс, лечится удалением C:\ProgramData\Microsoft\Search\Data при остановленной службе.
Архитектура поиска описана в документации Microsoft.