¿Encontraste archivos “en uso” dentro de \<dominio>\NETLOGON
? Esta guía práctica explica el impacto real en Active Directory, cómo detectar quién los bloquea, procedimientos seguros para liberar y actualizar archivos, y un conjunto de buenas prácticas para mantener SYSVOL/DFSR y GPO en forma.
Resumen de la pregunta
Al modificar archivos dentro de \<dominio>\NETLOGON
(por ejemplo, el fondo de pantalla corporativo distribuido por AD), aparecen a veces “ficheros bloqueados” o “en uso”. ¿Afecta esto a la autenticación o a los servicios base del dominio? ¿Qué medidas y procesos conviene aplicar para gestionar NETLOGON sin dolores de cabeza?
Lo esencial en breve
- Los bloqueos en NETLOGON no rompen Kerberos, LDAP ni la autenticación; sí pueden frenar la actualización de scripts o recursos, creando inconsistencias hasta que la réplica DFSR y los clientes se pongan al día.
- Cambiar con frecuencia archivos en NETLOGON repercute en todas las sedes y controladores de dominio, pues SYSVOL se replica. Un JPG de fondo de pocos MB está bien; cambios continuos o binarios grandes generan backlog y más “ficheros en uso”.
- La vía más segura es versionar el nombre de archivo y apuntar la GPO al nuevo nombre, en lugar de sobreescribir en caliente.
Impacto y riesgos reales
- Servicios base de AD: no se ven afectados por archivos abiertos en NETLOGON. La autenticación, emisión de tickets y consultas al directorio continúan operativas.
- Scripts y recursos: sí pueden quedar desactualizados temporalmente si el archivo no se puede reemplazar o si existe un backlog de DFSR. Los clientes podrían ver el fondo viejo o una versión previa del script hasta que apliquen la nueva GPO y tengan acceso a la versión replicada.
- Rendimiento y replicación: sustituciones frecuentes de un mismo archivo fuerzan replicaciones repetidas. En horas pico, esto agrava la probabilidad de bloqueos por archivos abiertos por usuarios y por agentes (antivirus, copias, indexadores).
Diagnóstico y localización del bloqueo
Visualización desde el servidor
Para identificar equipos o usuarios que mantienen un archivo abierto por SMB:
- Consola de administración:
compmgmt.msc
→ Carpetas compartidas → Archivos abiertos. Verás el equipo, el usuario, la ruta y el modo de apertura. Desde ahí puedes cerrar la sesión del archivo si es inevitable. - PowerShell (recomendado):
Get-SmbOpenFile | Where-Object { $_.Path -like '\SYSVOL\\scripts\*' } | Select-Object ClientComputerName, ClientUserName, Path, LockCount, FileId Cierre selectivo y con cautela: Get-SmbOpenFile -FileId \ | Close-SmbOpenFile -Force
- Línea de comandos:
openfiles /query /v net file net file <ID> /close
Nota:openfiles
muestra accesos remotos; para handles locales requiere tener habilitado el seguimiento local.
Procesos locales del propio controlador de dominio
- Resource Monitor (
resmon.exe
) → pestaña CPU → campo Associated Handles: busca por nombre del archivo o extensión. - Sysinternals:
- Process Explorer: Ctrl+F “Find Handle or DLL…”, escribe parte del nombre del archivo.
- handle.exe:
handle.exe wallpaper.jpg
Replicación, antivirus y copias
- DFSR: revisa el registro Microsoft-Windows-DFSReplication/Operational en el Visor de eventos y comprueba si hay retrasos. Además:
# Estado inmediato de archivos replicándose Get-DfsrState Backlog entre dos DCs para SYSVOL Get-DfsrBacklog -GroupName "Domain System Volume" ` -FolderName "SYSVOL Share"` -SourceComputerName DC1 -DestinationComputerName DC2 | Measure-Object Forzar sondeo de AD si hiciste cambios en conexiones dfsrdiag PollAD
- Antivirus/EDR y copias en caliente: verifica que no estén manteniendo el archivo abierto. Aplica exclusiones recomendadas para
SYSVOL
yNETLOGON
en los DCs. Si hay shadow copies o backups en curso, espera su finalización o excluye rutas de trabajo temporales.
Búsqueda de GPO o scripts que lo referencian
Antes de cerrar a la fuerza, verifica qué GPO o script usa ese archivo. Una referencia activa explica por qué “nunca” se libera.
# Exporta todas las GPO a XML y busca la ruta del archivo
$xml = Join-Path $env:TEMP 'gpo.xml'
Get-GPO -All | Get-GPOReport -ReportType Xml -Path $xml
Select-String -Path $xml -Pattern 'wallpaper\.jpg' -Context 2,2
Guía de decisión para actuar con seguridad
Síntoma | Qué revisar primero | Acción recomendada |
---|---|---|
No puedes sobrescribir un archivo del fondo | Archivos abiertos por SMB y eventos de DFSR | Versiona el nombre del archivo y actualiza la GPO; evita “in place overwrite” |
Backlog elevado en DFSR | Estado de enlaces, ancho de banda y tamaño de staging | Programa el cambio fuera de hora pico y reduce frecuencia de modificaciones |
Bloqueo por antivirus o backup | Exclusiones de tiempo real en DCs | Excluye SYSVOL/NETLOGON según proveedor; reintenta tras la ventana |
Debes mantener el mismo nombre | Conexiones SMB y usuarios conectados | Usa renombrado atómico en ventana de baja actividad; cierre selectivo de archivos abiertos |
Procedimiento paso a paso
- Identifica quién bloquea con
Get-SmbOpenFile
o “Archivos abiertos”. Evalúa si el cierre forzado interrumpirá usuarios. - Verifica la salud de DFSR: ausencia de backlog elevado y errores en el registro operativo.
- Descarta agentes que sujetan el archivo (AV/EDR, backup). Ajusta exclusiones.
- Elige estrategia:
- Preferida: subir con nombre versionado y apuntar la GPO al nuevo nombre.
- Alternativa: copiar como
.tmp
y renombrar en un momento de baja actividad.
- Aplica el cambio y comprueba replicación entre controladores de dominio.
- Acelera la adopción:
gpupdate /force
en usuarios/equipos oInvoke-GPUpdate
remoto. - Valida: revisa que los clientes reciban el recurso correcto y que no queden referencias a archivos antiguos.
- Limpia: borra versiones antiguas en una ventana de mantenimiento.
- Documenta y deja rastro en el runbook del equipo.
Actualización sin peleas de bloqueo
Estrategia recomendada con versionado
- Sube el nuevo archivo con nombre único, por ejemplo:
wallpaper-2025-08-01.jpg
. - Actualiza la GPO o el script para que apunte al nuevo nombre.
- Espera la replicación de SYSVOL; luego ejecuta una actualización de directivas en un conjunto piloto.
- Tras validar, haz limpieza de versiones antiguas en una ventana de bajo uso.
Si debes mantener el mismo nombre
- Copia como
wallpaper.tmp
en la misma carpeta y renombra awallpaper.jpg
en un momento de baja actividad. El renombrado es atómico y suele requerir menos tiempo que “sobrescribir”. - Si persisten bloqueos, cierra con cuidado los “open files”:
Get-SmbOpenFile | Where-Object { $_.Path -like '\SYSVOL\\scripts\*wallpaper.jpg' } | Close-SmbOpenFile -Force
Advertencia: el cierre forzado puede cortar sesiones SMB de usuarios que todavía estén leyendo el archivo.
Despliegue recomendado del fondo corporativo
Para evitar lecturas constantes desde NETLOGON y minimizar bloqueos, copia el archivo al equipo y referencia una ruta local en la GPO.
Con Group Policy Preferences
- En una GPO de usuarios o equipos, crea un elemento Files que copie
\<dominio>\NETLOGON\fondos\wallpaper-2025-08-01.jpg
a%ProgramData%\Company\wallpaper.jpg
. - Usa la preferencia de Desktop Wallpaper (Plantillas administrativas de usuario) para apuntar a
%ProgramData%\Company\wallpaper.jpg
con el estilo deseado (rellenar, ajustar, estirar, etc.). - Opcionalmente, activa “Run in logged-on user’s security context” en Preferences si es una GPO de usuario y necesitas permisos del perfil.
- Para acelerar la adopción, ejecuta:
gpupdate /target:user /force
y cierra sesión si la directiva lo exige.
Buenas prácticas para NETLOGON y SYSVOL
Uso y tamaño
- Reserva NETLOGON para scripts de inicio/cierre de sesión, pequeños recursos y plantillas. Evita binarios grandes y ficheros que cambien con alta frecuencia.
- Si debes servir contenido más pesado, considera un DFS Namespace de solo lectura para clientes, con escritura restringida a un repositorio de publicación.
Permisos y herencia
- Mantén las ACL por defecto: Authenticated Users: Lectura; Domain Admins/Enterprise Admins: Control total. No concedas escritura a usuarios normales.
- No alteres las ACL predeterminadas de
SYSVOL/NETLOGON
salvo con motivo claro y documentado.
Replicación y ventanas de cambio
- Evita cambios masivos en horas pico. Programa las sustituciones de fondos o scripts en ventanas controladas.
- Monitoriza el staging y el backlog de DFSR; dimensiona el staging para absorber tus oleadas típicas de cambios con holgura.
Seguridad y antivirus
- Aplica las exclusiones recomendadas por tu proveedor para
SYSVOL
yNETLOGON
en los controladores de dominio, evitando análisis en tiempo real que inmovilicen archivos. - Verifica que los agentes de backup en caliente no bloqueen recursos durante la ventana de publicación.
Gobernanza y control de cambios
- Usa control de versiones y nomenclatura clara (
recurso-AAAA-MM-DD.ext
). Esto simplifica rollbacks y auditorías. - Mantén un inventario que relacione cada archivo con su GPO o script consumidor. Documenta propietarios y periodicidad de actualización.
- Realiza copias de seguridad periódicas de
SYSVOL
y registra los cambios relevantes en tickets.
Plantillas de comandos útiles
Estado de sesiones SMB y ficheros abiertos
Get-SmbSession | Format-Table SessionId, ClientComputerName, NumOpens
Get-SmbOpenFile | Where-Object { $_.Path -like '\SYSVOL\' } |
Select-Object ClientComputerName, ClientUserName, Path, LockCount, FileId
DFSR básico
Get-DfsrState
Get-DfsrBacklog -GroupName "Domain System Volume" -FolderName "SYSVOL Share" `
-SourceComputerName DC1 -DestinationComputerName DC2
GPO y actualización de políticas
# Empuje remoto de GPUpdate a un equipo
Invoke-GPUpdate -Computer CR-VENTAS-07 -RandomDelayInMinutes 0
Diagnóstico de qué GPO aplica al usuario/equipo
gpresult /h C:\Temp\gp.html
Robocopy con reintentos bajos
robocopy \<dominio>\NETLOGON\fondos C:\Tmp wallpaper.jpg /R:1 /W:1
Cierre selectivo por CMD
net file
net file <ID> /close
Preguntas frecuentes
¿Por qué al reemplazar el fondo algunos usuarios siguen viendo el anterior?
Porque la GPO puede no haberse aplicado aún, el cliente puede tener la imagen en caché, o la replicación de SYSVOL no ha finalizado entre DCs. Ejecutar gpupdate /force
y esperar la réplica suele solucionarlo. Mejor aún, versiona el nombre del archivo.
¿Es buena idea editar archivos directamente en varias sedes?
No. Edita en un único origen controlado y deja que DFSR propague. Editar en paralelo provoca conflictos, latencias y bloqueos adicionales.
¿Puedo desactivar características SMB para evitar bloqueos?
No es recomendable tocar globalmente leasing, oplocks u opciones de resiliencia de SMB solo por un fondo corporativo. Gestiona el cambio con versión y ventanas de baja actividad.
¿Y si todavía tengo FRS?
En entornos muy antiguos FRS puede aparecer; planifica migración a DFSR para SYSVOL. Mientras tanto, aplica las mismas prácticas: cambios poco frecuentes, tamaño moderado y versionado.
Errores comunes y cómo evitarlos
- Sobrescribir en caliente el mismo nombre del archivo en hora punta. Mejor versionar y cambiar la referencia en GPO.
- Subir binarios grandes a NETLOGON. Centraliza en otro repositorio o DFS namespace orientado a contenido.
- Ignorar la capa operativa: no revisar backlog de DFSR ni eventos antes de forzar cierres.
- Permisos relajados en SYSVOL/NETLOGON. Esto incrementa riesgos y el número de accesos simultáneos “sujetando” archivos.
Controles y observabilidad
- Alertas sobre “Archivos abiertos” y desconexiones SMB inusuales en DCs.
- Métricas de backlog y errores en Microsoft-Windows-DFSReplication/Operational.
- Supervisión de crecimiento de
SYSVOL
y del staging de DFSR. - Reportes periódicos de GPO que hacen referencia a rutas en NETLOGON; limpia referencias huérfanas.
Lista de verificación rápida
- Identifica quién bloquea con “Archivos abiertos”,
Get‑SmbOpenFile
, resmon o Process Explorer. - Versiona el archivo y apunta la GPO al nuevo nombre siempre que sea posible.
- Comprueba DFSR y antivirus antes de cerrar handles.
- Mantén permisos por defecto: Authenticated Users con lectura, administradores con control total.
- Considera copiar el fondo localmente vía GPO para evitar bloqueos futuros.
Runbook de intervención sugerido
- Anuncia una ventana breve si habrá cierre selectivo de archivos.
- Revisa
Get-DfsrState
y el registro operativo de DFSR. - Comprueba accesos con
Get-SmbOpenFile
y decide si cerrarás alguno. - Publica el recurso con nombre versionado o renombra de
.tmp
a definitivo. - Valida en un conjunto piloto; ejecuta
gpupdate /force
. - Observa durante al menos un ciclo de réplica; si todo está estable, borra versiones antiguas.
- Cierra la intervención y documenta hallazgos, tiempos y responsables.
Cierre
Los “archivos bloqueados” en NETLOGON rara vez son una emergencia: son una señal de que el recurso está en uso o de que hay procesos de fondo interfiriendo. Con una política de versionado de nombres, ventanas de cambio, verificación de DFSR y exclusiones de seguridad bien aplicadas, podrás actualizar fondos, scripts y plantillas con cero fricción y riesgo mínimo para el negocio.
Aplica este enfoque de forma sistemática, documenta responsables y dependencias, y tu entorno de Active Directory se volverá más predecible, observable y fácil de operar.