Crear usuarios con contraseñas, meterlos en un grupo y una unidad organizativa, para cada usuario crear una carpeta compartida que será la unidad Q: y establecer permisos a dicha carpeta (NTFS y de red).
Dentro de un fichero, en cada línea hay información sobre el usuario, nombre, contraseña y grupo al que pertenece.
La unidad organizativa es la misma que el grupo al que pertenece el usuario.
1 2 3 4 |
#cn,sAMAccountname,FirstName,LastName,Password,Group user1,user1,username,userlast,secret@1123,group user2,user2,usernam2,userlast2,secret@1123,group user3,user3,usernam3,userlast3,secret@1123,group2 |
Script con comentarios que explican cada línea
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
#Create file: #Users.csv #cn,sAMAccountname,FirstName,LastName,Password,Group #user1,user1,username,userlast,secret1123,group Import-Module ActiveDirectory #Read file Import-Csv users.csv |%{ $nombreco=$_.FirstName + " " + $_.LastName $ru="OU=" + $_.Group + ",DC=domain,DC=local" #Create directory in \serverdepartament\ $HomeDirectory="\serverdepartament\" + $_.Group + "" + $_.sAMAccountname mkdir $HomeDirectory $HomeDirectory $HomeDrive='Q:' #Add user New-ADUser -Name $_.FirstName -SamAccountName $_.sAMAccountname -HomeDrive $HomeDrive -HomeDirectory $HomeDirectory -DisplayName $nombreco -Enabled $true -ChangePasswordAtLogon $false -AccountPassword (ConvertTo-SecureString $_.Password -AsPlainText -force) -PassThru -UserPrincipalName $_.sAMAccountname -Path $ru #Add permission for each user (sAMAccountname) Full control (better with System.Security.AccessControl.FileSystemAccessRule) $usereta="domain" + $_.sAMAccountname + ":F" $HomeDirectory + "-" + $usereta cacls $HomeDirectory /G $usereta /E #Add user into a group Add-ADGroupMember -Identity "CN=groupusers,CN=Builtin,DC=domain,DC=local" $_.sAMAccountname } |