OneDrive no sincroniza cuando se bloquea la unidad C: en Windows Server 2022 RDS

OneDrive para Empresas puede dejar de sincronizar en entornos de Escritorio Remoto (RDS) cuando la unidad C: se “bloquea” por directiva. Analizamos en profundidad el motivo, cómo diagnosticar el fallo y los métodos comprobados para mantener la seguridad sin sacrificar la sincronización.

Índice

Contexto de la implementación RDS con FSLogix y OneDrive

En muchas granjas RDS modernas basadas en Windows Server 2022 se combina FSLogix v2210 Update 4 (o superior) con contenedores de Office/OneDrive (ODFC) para ofrecer perfiles portables de alto rendimiento. El flujo típico es:

  • El perfil base se aloja en un archivo .vhd(x) en archivos compartidos SMB; al conectarse el usuario, FSLogix monta el contenedor como disco adicional.
  • OneDrive para Empresas (instalado en modo per‑machine mediante OneDriveSetup.exe /allusers) utiliza Files On Demand, de forma que sólo los metadatos se descargan al contenedor; los archivos “en línea” permanecen en la nube.
  • Storage Sense, ejecutado según directiva, retira automáticamente del contenedor aquellos archivos sin uso reciente, liberando espacio en el servidor.

Este diseño combina –sobre el papel– el mejor rendimiento con un consumo mínimo de almacenamiento local. Sin embargo, al aplicar la directiva de “bloqueo” completo sobre la unidad C:, OneDrive deja de sincronizar sin generar mensajes evidentes para el usuario.

Por qué el bloqueo total de C: rompe la sincronización

Cuando Windows aplica la opción Bloquear (no ocultar) el acceso a la unidad C: vía GPO (User Configuration > Administrative Templates > Windows Components > File Explorer > Prevent access to drives from My Computer), el sistema impide toda operación de lectura o escritura realizada en la raíz del volumen y en muchas de sus subcarpetas. Aun cuando la intención sea impedir que los usuarios exploren C:, la restricción también se aplica a procesos que se ejecutan en su contexto, incluidos:

  • OneDrive.exe (cliente de sincronización)
  • Complementos de Shell (nótese que la integración de Explorador depende de Shell32.dll y extensiones COM registradas en HKLM)
  • Mecanismos internos de Windows Cloud Files (CFAPI) que OneDrive consume

El resultado es que al primer intento de OneDrive de abrir su base de datos local (%LocalAppData%\Microsoft\OneDrive\settings\Business1.dat) o crear archivos temporales en %TEMP% se devuelve ERRORACCESSDENIED. OneDrive entra en bucle de reintentos, muestra la temida nube gris sin icono de check, y el perfil FSLogix permanece actualizado únicamente a nivel de metadatos ya existentes.

Rutas de C: indispensables para OneDrive

Los elementos críticos que OneDrive necesita crear o modificar son:

  • Programa: %ProgramFiles%\Microsoft OneDrive\*
  • Caché y journal: %LocalAppData%\Microsoft\OneDrive\*
  • Shell Extensions: %SystemRoot%\System32\OneDriveShell.dll (lectura de la DLL y su registro COM)
  • Espacio de trabajo Cloud Files: estructura de directorios bajo C:\Users\%USERNAME%\OneDrive – <Tenant> antes de ser virtualizada por FSLogix (la ruta lógica sigue existiendo)
  • %TEMP%: creación de ficheros transitorios y volcados de registro

Negar todo acceso de usuario a C: equivale a amputar al proceso de datos fundamentales. El problema es más evidente en sesiones RDS porque cada proceso se ejecuta con token de usuario, no con privilegios de sistema.

Tabla resumida de causa, motivo y mitigaciones

Problema raízMotivo técnicoOpciones de mitigación
OneDrive necesita leer/escribir rutas de C: (programa, caché, DB, registros, shell). Al negar cualquier acceso, OneDrive.exe falla y la sincronización se detiene.Rutas críticas:
• %LocalAppData%\Microsoft\OneDrive\
• %ProgramFiles%\Microsoft OneDrive\
• %TEMP%
• Shell Extensions y Cloud Files
El bloqueo provoca ERRORACCESSDENIED en CFAPI.
Ocultar, no bloquear – Cambiar la GPO a “Ocultar estas unidades” o “Bloquear sólo mediante Explorer”; los procesos pueden acceder, el usuario no ve la unidad. ACL selectivas – Mantener la restricción en la raíz pero conceder Modify a:
%LocalAppData%\Microsoft\OneDrive
%ProgramFiles%\Microsoft OneDrive
%TEMP%
Rutas de ODFC. Instalación per‑machine correcta – Usar /allusers y confirmar que %ProgramFiles% tiene ACL seguras y excepcionadas de la GPO. Cliente y FSLogix actualizados – Versiones anteriores a diciembre 2023 mostraban bugs con permisos estrictos. Activar loggingHKLM\SOFTWARE\Policies\Microsoft\OneDrive\EnableLog=dword:00000001 para identificar la carpeta que dispara el error.

Impacto específico en FSLogix ODFC

Aunque el contenedor FSLogix redirija el directorio del usuario a una unidad virtual, OneDrive sigue desplegando parte de sus archivos de control en %LocalAppData%, que permanece físicamente en la unidad C:. En cuanto el bloqueo impide escribir en dicha ruta, FSLogix no puede interceptar la operación ni redirigirla; el fallo es inmediato y se refleja en el profile status como “Redirected I/O failure”. Asimismo, la integración con Cloud Files –que habilita los indicadores de “Disponible localmente” y “Sólo en línea”– requiere acceso a la carpeta de metadatos bajo %SystemRoot%\System32\config\systemprofile\AppData\Local\Packages\Microsoft.CloudFilesBroker. Si esta ruta está vedada, los iconos dejan de actualizarse.

Ciclo de diagnóstico paso a paso

  1. Habilitar eventos de OneDrive: en el mismo REG donde se activa EnableLog, añadir DisableTelemetry=0. Tras reiniciar la sesión, revisar Event Viewer > Applications and Services Logs > Microsoft > Windows > OneDrive.
  2. Procesar Process Monitor: filtrar por OneDrive.exe y buscar ACCESS DENIED. Casi siempre apunta a \Device\HarddiskVolumeX\Users\user\AppData\Local\Microsoft\OneDrive\settings\Business1.dat.
  3. Comprobar registro FSLogix: en %ProgramData%\FSLogix\Logs\, abrir ODFC_*.log. La presencia de “Failed to query placeholder” confirma problema de permisos subyacente.
  4. Validar GPO efectiva con gpresult /h report.html. Si la directiva Prevent access to drives está en modo “Restrict all”, procede al siguiente apartado.
  5. Eliminar duda de antivirus: excluir temporalmente OneDrive y FSLogix para descartar influencia de protección del endpoint.

Opciones de mitigación analizadas en detalle

1. Ocultar la unidad C: sin bloquear

Al cambiar la opción de la GPO a “Mostrar pero no permitir el acceso mediante el Explorador”, Windows aplica un mecanismo de shell namespace hiding. La letra de unidad no aparece en la UI, pero la ACL NTFS sigue intacta y OneDrive conserva sus permisos. Esta técnica es la más rápida, no requiere excepción de carpetas ni rompe otros componentes que escriben en C:, por ejemplo Windows Update.

2. Utilizar ACL selectivas con icacls

Cuando las políticas de cumplimiento obligan a mantener el bloqueo, conviene abrir sólo las carpetas críticas. Script de ejemplo a ejecutar en cada host (o, preferiblemente, vía GPO Startup Script):

icacls "%localappdata%\Microsoft\OneDrive" /grant:r "%username%:(OI)(CI)F" /T
icacls "%programfiles%\Microsoft OneDrive" /grant:r "%username%:(RX)" /T
icacls "%temp%" /grant:r "%username%:(OI)(CI)M" /T

Nota: la herencia debe quedar deshabilitada en la raíz de C:, o la excepción se anulará al aplicar la GPO.

3. Instalar OneDrive en modo per‑machine

La versión de OneDrive distribuida con Windows 11 (preinstalada en %SystemRoot%\SysWOW64\OneDriveSetup.exe) despliega el cliente en la carpeta de usuario (%LocalAppData%\OneDrive), exponiendo todavía más archivos a la restricción. Resulta preferible:

OneDriveSetup.exe /allusers /silent

Así, los binarios residen en %ProgramFiles%, carpeta que suele estar excluida de las políticas de bloqueo de unidades.

4. Mantener versiones recientes del cliente y de FSLogix

Microsoft publica cada pocas semanas rings de OneDrive (“production”, “deferred”, “internal”). Las builds previas al ring 23.232.xx mostraban problemas incluso con ACL correctas. Se aconseja fijar la maquinaria de actualización mediante la clave:

[HKLM\SOFTWARE\Policies\Microsoft\OneDrive]
"AllUsersInstall"=dword:00000001
"Ring"="Production"

Del mismo modo, FSLogix 2210 Update 4 (2.9.9049.48865) corrige varios deadlocks sobre Cloud Files. Mantener ambos componentes en releases homologados evita dialogar con soporte cuando el origen era un bug ya parcheado.

5. Registrado y monitorizado permanente

Una vez solucionado, es prudente dejar habilitado el canal de eventos de OneDrive y crear una alerta en Azure Monitor o en el SIEM corporativo: si aparece el evento Microsoft-OneDrive/Operational, ID 6000, “OnSyncClientStateChanged: PausedAndNoNetwork”, se notifica antes de que los usuarios abran un ticket.

Buenas prácticas adicionales de seguridad y rendimiento

  • Separar Data Tier: ubicar los contenedores FSLogix en volúmenes independientes (p.ej. alta velocidad SSD NVMe) y dejar el SO en otro disco. Así, incluso si se permite acceso a C: para OneDrive, no se expone el disco de sistema a escrituras intensivas.
  • Habilitar Disk Quota: el bloqueo total suele querer evitar que los usuarios saturen C:. Las cuotas NTFS en C: ofrecen control granular sin romper aplicaciones.
  • Apalancar Applocker: en lugar de bloquear la unidad, se puede restringir ejecución de EXE/DLL/Macro con Applocker o Windows Defender Application Control, manteniendo integridad sin tocar ACL de sistema.
  • Revisión anual de GPO: directivas históricas migradas desde Windows 2008 suelen ser demasiado agresivas para servicios modernos basados en la nube.

Pasos recomendados para restaurar la sincronización

  1. Cambiar la GPO a “Ocultar” o levantar el bloqueo de %LocalAppData%\Microsoft\OneDrive, %ProgramFiles%\Microsoft OneDrive y %TEMP%.
  2. Forzar actualización de directivas (gpupdate /force) y cerrar/reabrir sesión RDS.
  3. Verificar en Event Viewer que los eventos 1000/2000 se generan sin errores.
  4. Comprobar que los iconos de estado en Explorador cambian al descargar o crear un archivo.
  5. Programar mantenimiento: revisar cada trimestre que nuevas versiones de OneDrive no introduzcan rutas adicionales a C: que requieran permisos.

Conclusiones

Bloquear la unidad C: a nivel de ACL es una técnica heredada que choca frontalmente con la arquitectura moderna de aplicaciones sincronizadas como OneDrive. El cliente de sincronización necesita, como mínimo, leer y escribir en su propia caché y en carpetas de sistema utilizadas por Cloud Files. Basta con ocultar C: al usuario final o conceder permisos selectivos a las rutas críticas para restaurar de inmediato la sincronización sin renunciar al endurecimiento de seguridad.

En definitiva, el equilibrio óptimo consiste en: visibilidad cero para el usuario, acceso pleno para los procesos. Con las excepciones adecuadas, OneDrive, FSLogix y Storage Sense conviven sin conflictos, preservando la integridad de la granja RDS y la productividad de los usuarios.

Índice