Compartir una carpeta desde la interfaz gráfica de Windows es sencillo para un caso puntual, pero cuando tienes que gestionar varios recursos compartidos en un servidor, PowerShell te da control total con unos pocos comandos. Vamos a ver cómo crear, consultar y administrar carpetas compartidas usando el protocolo SMB.

Comprobar si el protocolo SMB está activo

Antes de nada, conviene verificar que el protocolo SMB2 (la versión moderna de compartición de archivos de Windows) está habilitado:

Get-SmbServerConfiguration | Select EnableSMB2Protocol

Si no lo estuviera, se activa con:

Set-SmbServerConfiguration -EnableSMB2Protocol $true

Ver los recursos compartidos existentes

Para listar todos los recursos compartidos del sistema (incluidos los que crea Windows automáticamente, como C$ o print$):

Get-SmbShare

Si solo te interesan los recursos que has creado tú, no los del sistema:

Get-SmbShare -Special:$false

Y para ver el detalle de un recurso concreto:

Get-SmbShare -Name print$ | fl

(fl es la abreviatura de Format-List, que muestra el resultado en formato de lista detallada en vez de tabla resumida).

Crear una carpeta y compartirla

El proceso tiene dos pasos: primero creas la carpeta en el disco, y después la conviertes en un recurso compartido de red.

Crear la carpeta:

New-Item C:\datos -ItemType Directory

Compartirla en red:

New-SmbShare -Name datos -Path C:\datos

Consultar los permisos de un recurso compartido

Para ver quién tiene acceso a un recurso concreto y con qué nivel de permiso:

Get-SmbShareAccess -Name datos

Y en formato de lista detallada:

Get-SmbShareAccess -Name datos | fl

Modificar y eliminar un recurso compartido

Para cambiar los permisos de acceso de un usuario o grupo sobre el recurso, se usa Grant-SmbShareAccess (para conceder) o Revoke-SmbShareAccess (para quitar). Y cuando ya no necesitas el recurso compartido:

Remove-SmbShare -Name datos

Esto elimina el recurso compartido, pero no borra la carpeta ni su contenido del disco — solo deja de estar accesible por red.

Problemas típicos y cómo diagnosticarlos

Cuando un recurso compartido no aparece desde el equipo cliente, el error casi siempre está en uno de estos tres sitios:

SíntomaCausa probableCómo comprobarlo
El recurso no aparece en la redEl firewall de Windows bloquea el descubrimiento de redRevisar reglas de “Compartir archivos e impresoras” en el firewall
Pide usuario y contraseña sin pararEl usuario que intenta acceder no tiene permisos en Get-SmbShareAccessComprobar los permisos con Get-SmbShareAccess -Name <recurso>
Se ve pero da “Acceso denegado” al abrirLos permisos NTFS de la carpeta (no los de SMB) bloquean al usuarioRevisar permisos NTFS con Get-Acl C:\datos

Este último punto es el que más confunde al empezar: los permisos de SMB y los permisos NTFS de la carpeta son dos capas distintas, y ambas tienen que permitir el acceso — si una de las dos lo deniega, el usuario no entra, aunque la otra esté correctamente configurada.

Automatizar la creación de varios recursos a la vez

Igual que se puede crear usuarios en bloque desde un CSV, se puede hacer lo mismo con recursos compartidos cuando necesitas publicar varias carpetas de golpe:

$carpetas = @("ventas", "contabilidad", "rrhh")
foreach ($carpeta in $carpetas) {
    New-Item "C:\$carpeta" -ItemType Directory
    New-SmbShare -Name $carpeta -Path "C:\$carpeta"
}

Este bucle crea las tres carpetas y las comparte en red en un solo paso, en vez de repetir New-Item y New-SmbShare tres veces seguidas a mano.

Pon a prueba lo que has entendido

Ejecutas Remove-SmbShare sobre un recurso compartido. ¿Qué pasa con la carpeta y sus archivos en el disco?

Resumen rápido

Get-SmbShare para consultar, New-Item + New-SmbShare para crear una carpeta y compartirla, Get-SmbShareAccess para revisar permisos, y Remove-SmbShare para retirarla de la red. Con estos comandos puedes gestionar por completo los recursos compartidos de un servidor Windows sin tocar la interfaz gráfica.

Sigue con la serie: una vez creado el recurso, el siguiente paso es decidir quién puede acceder — lo ves en detalle en Grant-SmbShareAccess: gestionar permisos con PowerShell. Y si alguna vez te encuentras con un “acceso denegado” que no tiene sentido aunque los permisos parezcan correctos, la explicación está en NTFS vs permisos de compartición.