Hola johnp,
Para crear tus 400 carpetas y definir permisos para el usuario en particular puedes hacer uso de 2 herramientas en conjunto:
1.- Una propiedad de los objetos User de AD llamada PprofilePath.
2.- Un script que te paso más abajo.
Antes que nada hay que poner los requisitos previos para que funcione:
1.- Tienes que conectar el HDD externo al servidor que lo va a compartir.
2.- Crea un recuso compartido en el HDD externo, Ejemplo:
\\FileServer\Profiles\
3.- Establece los permisos necesarios para compartir y de seguridad para que todos los
Domain Users puedan escribir en el.
Listo copiate el siguiente codigo en notepad y guardalo con extension .vbs
Código:
On Error Resume Next
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCommand.ActiveConnection = objConnection
objCommand.Properties("Page Size") = 1000
objCommand.CommandText = "<LDAP://dc=dominio,dc=com>;(&(objectCategory=Person)(objectClass=user));distinguishedName;Subtree"
Set objRecordSet = objCommand.Execute
objRecordSet.MoveFirst
Do Until objRecordSet.EOF
Datos = objRecordSet.Fields("distinguishedName").Value
GrabaDatos(Datos)
objRecordSet.MoveNext
Loop
Function GrabaDatos(SourceData)
Set objUser = GetObject ("LDAP://" & SourceData)
objUser.Put "profilePath", "\\FileServer\Profiles\%username%"
objUser.SetInfo
End Function
Te explico un poco de su funcionamiento, lo que hace el script es recorrer OU x OU de tu dominio buscando objetos User, cuando encuentra un usuario extrae el valor de su propiedad
distinguishedName y se lo pasa a otra función que escribe en la propiedad
profilePath la ruta del recuso compartido + la variable %username%.
Esto hará que cuando un usuario inicie sesión creará en tu HDD compartido una carpeta con nombre de usuario.
Supongamos que tienes un usuario con los siguientes datos:
cn: Andres Flores
dn: cn=Andres Flores,OU=Netadmin,DC=dominio,DC=com
%username% = sAMAccountName: andres.flores
Cuando el usuario Andres Flores inicie sesion en su PC automaticamente creará una carpeta en el recurso compartido con su nombre de usuario y con permisos exclusivos para él:
\\FileServer\Profiles\andres.flores
Como podrás notar en el script te marque un par de variables en rojo, estas variables las tienes que modificar con respecto al nombre de tu dominio y la ruta del recurso compartido:
Supongamos que tu dominio se llama
sony.com.es entonces debes de modificar
dc=dominio,dc=com por
dc=sony,dc=com,dc=es
Supongamos que el servidor que tiene conectado el HDD se llama
Storage01 y el recurso compartido se llama
UserFiles entonces debes de modificar
\\FileServer\Profiles\%username% por
\\Storage01\UserFiles\%username%
Espero haber sido claro.
Por otra parte comentas:
Cita: 2. ?podría de algún modo por políticas o algo similar hacer que se salven automaticamente carpetas definidas de cada usuario en el directorio creado en la pregunta anterior?
Desgraciadamente
es posible por políticas de dominio hacer esto, pero te puedo recomendar 2 opciones de bajo o nulo costo pero ambas igual de laboriosas de implementar:
1.- Windows XP Pro tiene una utileria en accesorios que se llamada
Copia de seguridad preinstalada y si es Home puedes instalarla desde el CD, puedes programas respaldos del equipo completo o carpetas independientes. Lo malo como te imaginaras es que debes de programar los respaldo en las 300 PC's
2.- Mapea el recurso compartido en una unidad de red a tus usuarios referenciandola con su carpeta compartida. Lo malo es hacer consiencia a los usuarios para que aprendan que todo lo importante deben de trabajarlo desde esa ubicacion y que aprendan a no guardar como "IMPORTANTE" sus MP3's y porno.
La otra como te comentan es que compres o busques algun software que te programe esos respaldos y que de manera centralizada puedas manejarlos.
Espero haber sido de ayuda.
PD. Este script lo acabo de hacer en mi casa y no pude probarlo, te recomiendo si te es posible que lo ejecutes en un entorno de pruba, pero no te asustes, solo hay de 2 o funciona correctamente o te falla por que me equivoque en alguna linea de codigo y no se ejecutará, si es así dime y lo depuro.
SUERTE.