Cómo resolver problemas de acceso a archivos con AccessChk

Última actualización: 19/09/2025
Autor: Isaac
  • AccessChk permite auditar permisos efectivos en archivos, Registro, servicios y procesos con precisión.
  • Diagnosticar primero con AccessChk evita cambios innecesarios en ACL, GPO o Registro.
  • Casos comunes: recursos SMB, GPO de copias, EFS, bloqueos y corrupción de sistema de archivos.
  • Complementa con propiedad/ACL en GUI, CHKDSK, credenciales adecuadas y, si procede, re-registro de DLL/ActiveX.

solucionar acceso denegado con AccessChk

Cuando Windows te suelta el típico aviso de Acceso denegado al tocar un archivo, carpeta, clave de Registro o servicio, la frustración está servida. Antes de ponerse a desactivar cosas a lo loco, conviene diagnosticar con precisión quién tiene permisos y por qué, y ahí es donde brilla AccessChk, la utilidad de Sysinternals para radiografiar el control de acceso efectivo en segundos.

En esta guía encontrarás una explicación clara y a fondo de cómo usar AccessChk para revisar permisos, ejemplos reales, interpretación de resultados y soluciones prácticas a los escenarios más comunes: recursos compartidos, operaciones con GPO/MDM, ficheros bloqueados, niveles de integridad, e incluso casos de USB o discos externos que no abren. También se incluyen indicaciones de políticas de grupo, Registro y trucos complementarios (propiedad, EFS, CHKDSK, re-registro de DLL/ActiveX) para que no se te resista ningún “denied”.

Qué es AccessChk y por qué te ahorra horas

AccessChk es una herramienta de consola creada por Mark Russinovich que permite ver, de un vistazo, qué acceso efectivo tiene una cuenta o grupo a un recurso: archivos y carpetas, claves del Registro, servicios, procesos, objetos del espacio de nombres del Administrador de objetos e incluso recursos compartidos. Su salida es compacta y, cuando hace falta, tremendamente detallada.

AccessChk permisos archivos y carpetas

Al ejecutar AccessChk verás marcas como R (lectura) y W (escritura), o nada si no hay permisos. Con el modificador -v puedes desglosar derechos específicos y niveles de integridad. Es ideal para confirmar “¿por qué este usuario no puede escribir aquí?” sin tener que abrir mil cuadros de diálogo en la GUI.

Instalación y ejecución básica

AccessChk es un binario de consola portable: basta con copiarlo a una carpeta del PATH o situarte en su directorio y ejecutarlo. Si prefieres cero descargas, puedes lanzarlo desde Sysinternals Live (“Run now”) directamente por red. Escribir simplemente accesschk muestra la ayuda de sintaxis.

Ejecuta la consola con privilegios de administrador cuando revises rutas del sistema, servicios o claves protegidas; de lo contrario, es posible que no veas el control de acceso real o aparezcan errores suprimidos.

Sintaxis y opciones imprescindibles

La forma general de uso es flexible: puedes indicar cuentas o grupos, el tipo de objeto y parámetros para filtrar y profundizar. Este es el esquema base de AccessChk (parafraseado):

accesschk [-s][-e][-u][-r][-w][-n][-v][-f <cuenta>,...] [[-a]|[-k]|[-p [-f] [-t]]|[-h][-o [-t <tipo>]][-c]|[-d]] [[-l [-i]]|[usuario]] <ruta o nombre de objeto>

Debajo tienes un repaso de los modificadores clave y a qué aplican, para que no se te escape nada importante y puedas buscar justo el tipo de objeto que necesitas:

Parámetro Qué hace
-a El nombre es un derecho de cuenta de Windows. Usa «*» para listar todos los derechos asignados a un usuario. Si indicas uno concreto, verás solo asignaciones directas.
-c El nombre es un servicio de Windows (p. ej., ssdpsrv). Usa «*» para todos los servicios o «scmanager» para el Administrador de control de servicios.
-d Limita a directorios, procesos o claves de nivel superior, según corresponda.
-e Muestra solo niveles de integridad establecidos explícitamente (Vista y posteriores).
-f Tras -p, vuelca el token del proceso con grupos y privilegios. Sin -p, filtra cuentas (lista separada por comas) de la salida.
-h El nombre es un recurso compartido de archivos o impresoras. «*» lista todos los compartidos.
-i Al volcar ACL completas con -l, omite ACE heredados.
-k El nombre es una clave del Registro (p. ej., hklm\software).
-l Muestra el descriptor de seguridad completo; añade -i para saltar ACE heredados.
-n Devuelve solo objetos donde no hay acceso.
-o El nombre es un objeto del espacio de nombres del Administrador de objetos (raíz por defecto). Con barra final o -s ves el contenido; añade -t para filtrar por tipo (p. ej., section).
-p El nombre es un proceso o PID («*» para todos). Con -f ves token completo; con -t incluyes subprocesos.
-nobanner No muestra el banner de inicio ni el copyright.
-r Filtra a objetos con lectura.
-s Recorre de forma recursiva.
-t Filtro por tipo de objeto (p. ej., «section»).
-u Suprime errores en salida.
-v Modo detallado (incluye nivel de integridad).
-w Filtra a objetos con escritura.
  Solución definitiva al error de activación de Windows 0xC004F213: causas, consecuencias y guía paso a paso

Por defecto, AccessChk interpreta lo que pasas como ruta de sistema de archivos. Para canalizaciones con nombre usa el prefijo \pipe\. Si añades un usuario o grupo y una ruta, te devuelve el permiso efectivo para esa cuenta; si no, muestra el acceso de las cuentas del descriptor de seguridad del objeto.

Cómo leer la salida y no perderte

Si ves R, hay lectura; si ves W, hay escritura; si no aparece nada, no hay acceso. El modificador -v es oro: te enseña cada derecho concedido y el nivel de integridad (muy útil en entornos con UAC y políticas de integridad configuradas).

Cuando indicas -l, obtienes el descriptor de seguridad completo (DACL/SACL/propietario). Con -i puedes omitir ACE heredados y centrarte en lo explícito. Este combo es perfecto para detectar quién bloquea realmente el acceso.

Ejemplos de uso que te sacan del apuro

Comprobar qué permisos tienen los Usuarios avanzados en C:\Windows\System32 (muestra accesos efectivos sobre cada elemento):

accesschk "power users" c:\windows\system32

Descubrir qué cuentas del grupo Users pueden escribir en los servicios de Windows:

accesschk users -c -w *

Listar claves bajo HKLM\Software a las que un usuario concreto no accede, recorriendo recursivamente y sin mostrar herencias:

accesschk -k -n -s dominio\usuario hklm\software

Ver la seguridad de la clave HKLM\Software con su descriptor completo:

accesschk -k -l hklm\software

Localizar archivos en C:\Users\Nombre que tengan niveles de integridad explícitos:

accesschk -e -s c:\users\nombre

Enumerar objetos globales del espacio de nombres que cualquiera puede modificar (ojo con esto en endurecimiento):

accesschk -w -u -o everyone \BaseNamedObjects

Arreglar “Acceso denegado” en operaciones de archivos y GPO/MDM

Un caso típico: una política de “Operación de archivos y carpetas” (p. ej., desde Endpoint Central u otra plataforma) falla con “Configuración fallida” y detalle “Acceso denegado”. Antes de nada, usa AccessChk contra el origen y el destino para ver permisos efectivos de la cuenta que ejecuta la acción en el cliente.

Repasa estos puntos habituales en fallos por origen: 1) el cliente no puede leer el recurso de red del origen; 2) trabajas en Workgroup o dominios distintos y no has definido credenciales; 3) el archivo está en uso. Si vas por destino: 1) el usuario carece de Escritura en la ruta; 2) el fichero está bloqueado por otro proceso.

Medidas concretas que suelen resolverlo: en el recurso compartido de origen, da al menos Lectura al grupo adecuado (en Windows: Propiedades > Seguridad). En entornos sin relación de confianza, especifica credenciales válidas al configurar la tarea de copia (conectar recurso con credenciales), asegurándote de que esa cuenta puede leer y/o escribir según toque.

  Cómo Ver y Gestionar Discos en CMD: Guía Completa

Si es un borrado que falla, reinicia el equipo cliente para liberar manejadores; si el bloqueo ocurre incluso al inicio, elimina la ruta conflictiva de las opciones de Inicio/Servicios con msconfig y prueba de nuevo. Para Windows 11, los mismos pasos aplican y AccessChk te servirá para comprobar que el ACE problemático no sigue presente.

Recursos compartidos SMB y el invitado “peligroso”

En entornos mixtos te puedes topar con el bloqueo por autenticación invitado. Activar “Enable insecure guest logons” permite iniciar sesión como invitado en SMB, pero es una medida arriesgada. Vía directiva: Equipo > Plantillas administrativas > Red > Workstation de Lanman > Habilitar inicios de sesión de invitados inseguros.

Por Registro, el ajuste equivalente es HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters con AllowInsecureGuestAuth=1. Usa esto solo si entiendes el impacto; lo recomendable es usar credenciales y permisos bien definidos en el recurso.

Tomar propiedad y ajustar permisos desde la GUI

Si tras comprobar con AccessChk confirmas que tu usuario o grupo no tiene acceso, puedes retomar el control. Con una cuenta administrativa, ve a Propiedades > Seguridad > Avanzado y cambia el propietario. Luego concede Control total a Administradores (o al grupo objetivo) y aplica a subcarpetas/objetos si te interesa.

Paso a paso resumido: abre el cuadro de Configuración de seguridad avanzada, pulsa Cambiar para el propietario, elige el usuario o el grupo (puedes Buscar ahora para listar), acepta, y en Permisos agrega la entrada con los derechos necesarios (leer, escribir, modificar, eliminar, cambiar permisos, tomar posesión, etc.). Aplica y confirma en Seguridad de Windows.

Si lo que impide abrir es el cifrado EFS, en Propiedades > General > Avanzados verás marcada la casilla “Cifrar contenido”. En ese caso necesitas el certificado/clave asociado; sin él, no hay manera legítima de leer el contenido. Desmarca solo si posees la clave o recupera desde una copia descifrable.

“No puedes acceder a esta carpeta” y otros mensajes frecuentes

Las causas más vistas: cambio de propietario tras actualizar Windows, permisos heredados que ahora te excluyen, archivos protegidos por EFS, datos corruptos o un perfil de usuario dañado. AccessChk te ayuda a diferenciar si es un problema de ACL o algo físico/lógico del disco.

Para validar permisos: Propiedades > Seguridad > revisa tu usuario en “Nombres de grupo o de usuario” y, si procede, pulsa Editar con una cuenta admin para agregar los permisos que faltan. Si el árbol es complejo, usa -l en AccessChk y observa DACL/SACL para entender qué ACE manda.

Unidades externas o USB: “La unidad no es accesible”

Cuando el bloqueo afecta a un USB o disco externo (“la estructura está dañada”, “el parámetro no es correcto”), la pista cambia: probablemente hay corrupción de sistema de archivos, sectores defectuosos o una política de acceso. Tu plan debería comenzar por salvaguardar datos.

Si aún monta la letra, intenta recuperar primero con una herramienta de data recovery antes de tocar nada; muchas suites comerciales presumen de soportar miles de formatos/escenarios y altas tasas de éxito. Tras extraer lo crítico, ejecuta CHKDSK para reparar.

Pasos típicos: abre CMD como admin y lanza chkdsk E: /f /r (sustituye E por tu unidad). Luego revisa con AccessChk si tu cuenta tiene permisos y, si hace falta, cambia propiedad y concede acceso como con cualquier carpeta local.

  Disfrutarás de 10 programas de programación de diagramas de bloques

Servicios, procesos y objetos: más allá de archivos

No todo es NTFS. Con -c puedes revisar servicios (y el Service Control Manager con “scmanager”); con -p inspeccionas procesos y, usando -f, ves los privilegios y grupos del token. Para objetos del kernel (secciones, eventos, etc.) usa -o y filtra por tipo con -t.

Estos chequeos son clave cuando un hardening rompe funciones: por ejemplo, un servicio sin permiso de Inicio para Usuarios, o un objeto global con escritura abierta que conviene cerrar. AccessChk te da la foto exacta.

Microsoft Access (VBA), referencias y ActiveX: cuando el bloqueo no es de NTFS

Algunas veces el “no funciona” viene de dependencias de código: bibliotecas de tipos, DAO/ADO, controles ActiveX o referencias a ficheros que ya no están. En Access (la base de datos) abre el Editor de VB (Alt+F11) > Herramientas > Referencias y revisa marcas de “Falta/Missing”.

Access resuelve referencias siguiendo un orden: comprueba si ya está cargada, mira RefLibPaths en el Registro, busca en carpeta de la app (Msaccess.exe), carpeta actual, Windows, System y rutas de PATH. Si nada cuadra, verás errores del tipo “no se encuentra proyecto o biblioteca”, “variable no definida” o funciones que desaparecen.

Soluciones típicas: al migrar desde versiones anteriores, reemplaza ADO si no procede y añade “Microsoft DAO 3.6 Object Library” cuando toque; quita referencias a Utility.mda si ya están cubiertas por librerías modernas; y al distribuir, empaqueta los controles con licencia en tiempo de ejecución para evitar “no tiene la licencia necesaria”.

Para “el componente ActiveX no puede crear el objeto”, asegúrate de que los DLL están bien registrados. Puedes volver a registrar con regsvr32.exe Nombre.dll (busca primero la ruta de regsvr32 y del DLL), y después prueba de nuevo en Access. Si es un caso teimoso, abre Referencias, activa una librería cualquiera, acepta, vuelve a entrar y desactívala; este “refresco” a veces limpia el estado.

Transferencia desde móvil y orígenes de datos

Si alimentas tus carpetas desde un iPhone o iPad, recuerda que puedes usar el uso compartido de archivos de iTunes para mover elementos a la app Documentos (Archivos locales) y luego al PC/Mac o nube. En modelos antiguos, esta opción puede no estar disponible.

Una vez los archivos estén en el equipo, utiliza AccessChk para verificar permisos efectivos del usuario que los va a manipular y evitar sorpresas de ACL heredadas que bloqueen cambios.

Buenas prácticas con AccessChk

Al usar AccessChk en directorios grandes, añade -s para recorrer recursivamente y, si buscas problemas, -n para listar solo donde no hay acceso. Complementa con -v para diagnósticos finos y usa -u si quieres que los errores no ensucien la salida.

Cuando analices rendimiento o volumen de datos, filtra cuentas que no te interesen con -f (como lista separada por comas) y, en objetos de kernel, limita por tipo con -t. Todo esto reduce ruido y acelera la investigación.