Crear Estructura de Directorios

Estructura de directorios para Active Directory

En este artículo trataremos hacer un script que cree una estructura de directorios de forma automática, le asigne una cuota de disco a cada usuario y comparta la carpeta.

Nuestra estructura de carpetas constará de un directorio principal llamado inicio, y tres subcarpetas: usuario1, usuario2 y usuario3

@echo off md inicio md inicio\usuario1 md inicio\usuario2 md inicio\usuario3

* Nota: Es importante que antes de crear una estructura compleja pensemos en los nombres que obtendrá cada directorio. Una buena idea es hacerlo como en el ejemplo, poner un nombre genérico seguido de un número. De esta forma será mucho más sencillo recorrer por los directorios de forma automática usando scripting.

Por ejemplo: Supongamos que en vez de 3 usuarios tuvieramos que crear una estructura con 10. Podríamos utilizar el siguiente código para crear las carpetas automáticamente:

for %%a IN (1 2 3 4 5 6 7 8 9 10) do md inicio\usuario%%a

Asignar Cuota de Disco

Seguimos con nuestro ejemplo de 3 subcarpetas. Ahora para cada usuario le asignaremos un tamaño de disco que puede usar

for %%a IN (1 2 3) do Fsutil quota modify c: 24000 25000 usuario%%a

Lo que hace el comando fsutil es asignar un tamaño de disco para la unidad C. Lo que el usuario1 verá como unidad C en su terminal es lo que en el servidor será la carpeta inicio\usuario1. Para este ejemplo le asignamos 25 MBytes de espacio, y le avisaremos que le queda poco espacio cuando haya ocupado 24 Mbytes.

Compartir la Carpeta en la Red

Utilizaremos el comando net share para crear recursos compartidos de las carpetas. Compartiremos cada carpeta con el mismo nombre que el usuario que la usará.

for %%a IN (1 2 3) do net share usuario%%a=c:\inicio\usuario%%a /GRANT:TODOS,CHANGE

Script Completo

Para que nos funcione correctamente este script debemos guardarlo en la carpeta raíz (C:) de nuestro servidor Windows Server 2003, y guardar este código en un archivo con extensión .bat

@echo off md inicio md inicio\usuario1 md inicio\usuario2 md inicio\usuario3

for %%a IN (1 2 3) do Fsutil quota modify c: 24000 25000 usuario%%a

for %%a IN (1 2 3) do net share usuario%%a=c:\inicio\usuario%%a /GRANT:TODOS,CHANGE

Si deseamos eliminar la estructura y las carpetas compartidas podemos borrar directamente la carpeta inicio con todos sus subdirectorios, eso si, recomiendo realizar todos los tests en un servidor de pruebas.