En Windows 11 Pro, especialmente después de algunas actualizaciones recientes y en versiones como Windows 11 24H2 y posteriores, es posible encontrarse con el error 0x80004005 al intentar acceder a otro equipo de la red local.
El problema puede presentarse al intentar abrir una computadora desde el Explorador de archivos mediante una dirección (Dirección IP de ejemplo, usa la tuya al ejecutar los comandos) como:
\\192.168.1.162
En algunos casos la computadora responde correctamente al ping e incluso el puerto SMB 445 está abierto, pero Windows sigue mostrando el error:
0x80004005
Error no especificado
En este artículo veremos cómo diagnosticar el problema y la solución que funcionó en nuestro caso.
1. Comprobar que el otro equipo está disponible
Lo primero es asegurarnos de que existe comunicación entre ambas computadoras.
Podemos probar haciendo ping a la dirección IP del equipo al que queremos acceder.
Abra PowerShell o Símbolo del sistema y escriba:
ping 192.168.1.162
Sustituya 192.168.1.162 por la dirección IP correspondiente al otro equipo.
Si obtenemos respuesta, significa que ambos equipos pueden comunicarse a través de la red.
2. Comprobar el puerto SMB 445
Windows utiliza principalmente el protocolo SMB para compartir archivos e impresoras en una red local.
El puerto utilizado por SMB moderno es el TCP 445.
Desde PowerShell podemos comprobarlo con:
Test-NetConnection 192.168.1.162 -Port 445
Si todo está funcionando correctamente a nivel de red veremos algo similar a:
ComputerName : 192.168.1.162
RemoteAddress : 192.168.1.162
RemotePort : 445
InterfaceAlias : Ethernet
TcpTestSucceeded : True
La línea más importante es:
TcpTestSucceeded : True
Esto significa que el puerto SMB 445 está abierto y que nuestro equipo puede comunicarse con el servicio SMB de la computadora remota.
3. Probar los recursos compartidos con NET VIEW
El siguiente paso es comprobar si Windows puede obtener la lista de recursos compartidos del otro equipo.
Ejecute:
net view \\192.168.1.162
En nuestro caso apareció:
Error de sistema 53.
No se ha encontrado la ruta de acceso de la red.
Esto resultaba especialmente extraño porque anteriormente habíamos confirmado que el puerto 445 estaba abierto.
Por lo tanto, la comunicación de red funcionaba, pero Windows estaba rechazando o impidiendo completar correctamente la sesión SMB.
4. El problema: cambios de seguridad SMB en Windows 11
Las versiones recientes de Windows 11 han aumentado los requisitos de seguridad utilizados por SMB.
Esto puede provocar problemas con computadoras, servidores NAS, equipos antiguos o carpetas compartidas configuradas para permitir acceso sin usuario y contraseña.
Uno de los cambios importantes es que Windows puede exigir características como:
- Firma de seguridad SMB.
- Autenticación del usuario.
- Restricciones para conexiones SMB como invitado.
- Requisitos de cifrado en determinadas configuraciones.
Por este motivo, una carpeta compartida que anteriormente funcionaba perfectamente puede dejar de funcionar después de actualizar Windows.
5. Habilitar conexiones SMB de invitado
Abra PowerShell como Administrador.
Ejecute:
Set-SmbClientConfiguration -EnableInsecureGuestLogons $true -Force
Este comando permite que el cliente SMB pueda conectarse a recursos que utilizan acceso de invitado.
Sin embargo, en nuestro caso esto por sí solo no solucionó el problema.
6. Solución que corrigió el error 0x80004005
La solución definitiva fue modificar tres parámetros del cliente SMB de Windows.
Abra PowerShell como Administrador y copie los siguientes comandos:
Set-SmbClientConfiguration -EnableInsecureGuestLogons $true -Force
Set-SmbClientConfiguration -RequireSecuritySignature $false -Force
Set-SmbClientConfiguration -RequireEncryption $false -Force
Después de ejecutar estos comandos, Windows pudo acceder nuevamente al otro equipo de la red.
¿Qué hace cada comando?
El primero permite el acceso mediante SMB de invitado:
Set-SmbClientConfiguration -EnableInsecureGuestLogons $true -Force
El segundo evita que Windows exija obligatoriamente la firma de seguridad SMB:
Set-SmbClientConfiguration -RequireSecuritySignature $false -Force
El tercero evita exigir cifrado SMB para realizar la conexión:
Set-SmbClientConfiguration -RequireEncryption $false -Force
7. Limpiar conexiones SMB anteriores
Si Windows mantiene alguna conexión o sesión anterior almacenada, también podemos eliminarla.
Ejecute:
net use * /delete /y
Este comando elimina las conexiones de red SMB existentes.
Después vuelva a intentar acceder al otro equipo.
8. Probar nuevamente el acceso
Presione:
Windows + R
Y escriba la dirección IP del equipo:
\\192.168.1.162
También puede comprobar nuevamente los recursos compartidos desde PowerShell o CMD:
net view \\192.168.1.162
Después de realizar los cambios anteriores, en nuestro caso el equipo volvió a ser accesible inmediatamente.
9. Comprobar la configuración SMB actual
Podemos comprobar cómo quedó configurado Windows utilizando:
Get-SmbClientConfiguration | Select EnableInsecureGuestLogons,RequireSecuritySignature,RequireEncryption
Después de aplicar la solución deberíamos obtener valores similares a:
EnableInsecureGuestLogons : True
RequireSecuritySignature : False
RequireEncryption : False
10. ¿Los cambios permanecen después de reiniciar?
Sí. Estos parámetros forman parte de la configuración del cliente SMB de Windows y permanecen después de reiniciar el equipo.
No es necesario ejecutar nuevamente los comandos cada vez que se inicia Windows.
Importante: consideraciones de seguridad
Esta solución reduce algunos mecanismos de seguridad de SMB.
Puede ser útil en una red local privada donde existen computadoras antiguas, sistemas de punto de venta, servidores, NAS u otros dispositivos que utilizan recursos compartidos sin autenticación moderna.
Sin embargo, no es la configuración más recomendable para una computadora que se conecta habitualmente a redes públicas o redes que no son de confianza.
La configuración ideal consiste en utilizar usuarios y contraseñas para acceder a los recursos compartidos y mantener habilitadas las funciones de seguridad de SMB.
Cómo regresar a una configuración SMB más segura
Si posteriormente configura correctamente el equipo remoto para utilizar usuario y contraseña, puede volver a habilitar la firma SMB y deshabilitar el acceso de invitado.
Abra PowerShell como Administrador y ejecute:
Set-SmbClientConfiguration -EnableInsecureGuestLogons $false -Force
Set-SmbClientConfiguration -RequireSecuritySignature $true -Force
Si desea comprobar nuevamente la configuración:
Get-SmbClientConfiguration | Select EnableInsecureGuestLogons,RequireSecuritySignature,RequireEncryption
No habilite SMB1 innecesariamente
Al buscar soluciones para problemas de red es frecuente encontrar tutoriales que recomiendan habilitar SMB 1.0/CIFS.
En este caso no fue necesario habilitar SMB1.
SMB1 es una versión antigua del protocolo y tiene importantes limitaciones de seguridad. Si el equipo remoto puede trabajar con SMB2 o SMB3, es preferible mantener SMB1 deshabilitado.
Resumen de la solución
En nuestro caso se presentaba la siguiente situación:
- El otro equipo respondía correctamente en la red.
- El puerto TCP 445 estaba abierto.
Test-NetConnectionmostrabaTcpTestSucceeded : True.net viewmostraba Error de sistema 53.- Windows mostraba el error 0x80004005 al intentar acceder al equipo.
La solución fue ejecutar como Administrador:
Set-SmbClientConfiguration -EnableInsecureGuestLogons $true -Force
Set-SmbClientConfiguration -RequireSecuritySignature $false -Force
Set-SmbClientConfiguration -RequireEncryption $false -Force
Después de realizar este cambio, fue posible volver a acceder normalmente al equipo mediante:
\\DIRECCION-IP
Por ejemplo:
\\192.168.1.162
Nota: las direcciones IP utilizadas en este artículo son solamente un ejemplo. Debe sustituirlas por las direcciones IP correspondientes a los equipos de su propia red.