Al migrar a Windows Server 2022 muchos administradores descubren que la búsqueda incremental search‑as‑you‑type deja de mostrar resultados dinámicos para los usuarios que no pertenecen al grupo Administradores. El cuadro de búsqueda del Explorador parece quedarse “congelado” y solo responde después de pulsar Intro, lo que ralentiza las tareas diarias y genera frustración. A continuación encontrarás una guía exhaustiva para restaurar la experiencia de búsqueda completa sin conceder privilegios elevados, manteniendo un equilibrio óptimo entre productividad y seguridad.
Descripción del problema
En Windows Server 2022 la interfaz moderna de búsqueda se apoya en el servicio Windows Search, el catálogo de indexación y varios procesos auxiliares (SearchIndexer.exe, SearchHost.exe, SearchFilterHost.exe). En entornos recién actualizados desde Windows Server 2016 se han observado estos síntomas:
- Los administradores disfrutan de resultados instantáneos a medida que escriben.
- Las cuentas normales ven el cursor parpadear en la barra de búsqueda pero la lista desplegable permanece vacía.
- El comportamiento es idéntico ingresando localmente en la consola o vía RDP.
- El Visor de eventos → Microsoft‑Windows‑Search muestra advertencias de acceso denegado (
HRESULT 0x80070005
) en consultas lanzadas porSYSTEM
en nombre del usuario.
Por qué ocurre la limitación
Al actualizar el sistema operativo pueden heredarse directivas de grupo, valores de registro o ACLs que fueron válidos para Server 2016 pero resultan demasiado restrictivos para la nueva pila de búsqueda. Los factores más habituales son:
- Directivas de grupo que deshabilitan la búsqueda en la barra de tareas o Cortana.
- Service SID o permisos sobre %ProgramData%\Microsoft\Search y C:\Windows\System32 modificados por herramientas de endurecimiento (hardening).
- Índice construido con rutas a las que los usuarios carecen de acceso de lectura.
- AppLocker o Software Restriction Policies bloqueando la carga de
SearchHost.exe
.
Verificaciones iniciales
- Confirma que el servicio Windows Search está en estado Running y tipo de inicio Automatic (Delayed Start).
- Ejecuta
sc qc WSearch
ysc qsidtype WSearch
para comprobar que useNT AUTHORITY\LocalSystem
y restricted SID. - Abre Opciones de indización: el número de elementos debe crecer mientras se indexa y aparecer “La indización se completó” al finalizar.
- Inicia sesión con una cuenta estándar nueva (“prueba”) sin perfiles de redirección ni GPO vinculadas para descartar corrupción de perfil.
Revisar directivas de grupo (GPO)
En muchas organizaciones la GPO heredada “Disable Search Box” se diseñó para ocultar Cortana en clientes Windows 10. En Server 2022 ese ajuste evita que el control TypeAhead eleve consultas al Indexer. Para verificar:
gpedit.msc
Configuración de usuario ▸ Plantillas administrativas ▸ Componentes de Windows ▸ File Explorer
Las siguientes directivas deben permanecer No configurado:
- Turn off display of recently used search entries.
- Prevent usage of Windows Search Box.
- Do not allow Cortana.
Si aplicas GPO a nivel de dominio, ejecuta gpresult /h reporte.html
desde la cuenta afectada y revisa la sección User Configuration → Applied GPOs.
Confirmar el estado de la indexación
Los usuarios solo reciben sugerencias sobre archivos y carpetas indexados que puedan leer. Verifica:
control .exe srchadmin.dll
En Opciones avanzadas ➜ Tipos de archivo, asegúrate de que los filtros iFilter de Office y PDF estén habilitados. Luego examina la columna Incluida para la unidad donde residen los perfiles de usuario. Si se utiliza un espacio DFS o rutas UNC, agrega la raíz compartida a la lista de ubicaciones.
Tabla de comprobación de permisos
Ruta o recurso | Permiso mínimo recomendado | Comando de ejemplo |
---|---|---|
C:\Windows\System32\SearchIndexer.exe | Users — Read & Execute | icacls "C:\Windows\System32\SearchIndexer.exe" /grant Users:RX |
%ProgramData%\Microsoft\Search | Users — Read | icacls "%ProgramData%\Microsoft\Search" /grant Users:(OI)(CI)R |
Ubicaciones indexadas compartidas | Users — Read | icacls "\\filesrv\Departamentos" /grant Domain Users:RX |
Ajustes de registro recomendados
Si el servidor recibió una imagen con plantillas de seguridad legacy, puede haberse creado una clave en HKLM\SOFTWARE\Policies\Microsoft\Windows\Windows Search. Los valores siguientes deben eliminarse o definirse en 0
:
AllowCortana
DisableWebSearch
DisableSearchBoxSuggestions
Para automatizarlo ejecuta con privilegios elevados:
reg delete "HKLM\SOFTWARE\Policies\Microsoft\Windows\Windows Search" /v DisableSearchBoxSuggestions /f
Comprobación de permisos de archivos y carpetas
Algunas utilidades de hardening aplican deny ACEs a NT AUTHORITY\Authenticated Users, lo que impide que SearchHost inyecte su DLL en el contexto del Explorador. Para restablecer herencias:
icacls "%ProgramData%\Microsoft\Search" /inheritance:e
icacls "%windir%\SystemApps\MicrosoftWindows.Client.CBS_cw5n1h2txyewy" /inheritance:e
Verifica después con icacls ruta
que exista la ACE (I)(RX)
para Users
.
Reiniciar y optimizar el servicio Windows Search
Tras modificar directivas o permisos, reinicia el servicio:
Stop-Service WSearch -Force
Start-Service WSearch
En sistemas con muchos documentos conviene reconstruir el índice:
Get-WmiObject -Namespace root\Microsoft\Windows\Search -Class MSFT_SearchIndexer |
Invoke-WmiMethod -Name Reset
Durante la reconstrucción la búsqueda puede responder de forma intermitente; planifica esta tarea fuera del horario productivo.
Pruebas aisladas y validación
Para descartar problemas de perfil o cache:
- Crea un usuario local temporal (
net user prueba $P@ssw0rd /add
). - Inicia sesión directamente en la consola; abre el Explorador y prueba la búsqueda.
- Si funciona, el obstáculo está en la configuración de dominio o en la redirección de perfiles.
- Utiliza Process Monitor con filtros Process Name is Explorer.exe y Result is ACCESS DENIED para identificar DLLs o carpetas bloqueadas.
Guía paso a paso con PowerShell
El siguiente bloque automatiza la corrección en servidores miembro:
# Variables
$paths = @("C:\Windows\System32\SearchIndexer.exe",
"$env:ProgramData\Microsoft\Search")
Conceder permisos de lectura/ejecución
foreach (\$p in \$paths) {
icacls \$p /grant "Users:(OI)(CI)RX" /T
}
Eliminar claves de Registro heredadas
\$regPath = "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Search"
if (Test-Path \$regPath) {
Remove-ItemProperty -Path \$regPath -Name DisableSearchBoxSuggestions -ErrorAction SilentlyContinue
Remove-ItemProperty -Path \$regPath -Name DisableWebSearch -ErrorAction SilentlyContinue
}
Reiniciar servicio
Restart-Service -Name WSearch -Force
Write-Host "Corrección aplicada. Verifica la búsqueda con una cuenta estándar."
Buenas prácticas para entornos de producción
- Documenta cada cambio en un sistema de control de configuraciones para revertir rápidamente si surge un efecto colateral.
- Aplica la corrección primero en un equipo de prueba o en un servidor de pre‑producción.
- Supervisa el uso de CPU y disco del proceso SearchIndexer.exe después de reconstruir el índice para dimensionar recursos.
- Habilita Audit File System en Object Access solo mientras depuras, ya que genera grandes registros.
- Revisa trimestralmente las GPO y elimina configuraciones obsoletas o redundantes.
Conclusiones
La búsqueda incremental en Windows Server 2022 depende de una combinación de políticas, permisos NTFS y la integridad del índice. Al retirar bloqueos heredados de versiones anteriores, conceder Read & Execute a los componentes de búsqueda y asegurar que las directivas no limiten la UI, los usuarios estándar recuperan la misma fluidez que los administradores sin sacrificar la superficie de ataque del servidor. Implementa las comprobaciones anteriores como parte de tu checklist de post‑migración y garantizarás una experiencia de archivo ágil para toda la organización.