Creating homefolders via Powershell
Din nevoia de a crea home foldere pentru aproximativ 70 useri si de a le da si permisiuni, m-a gandit sa caut o varianta cat mai rapida si profesionista as zice eu. Voiam sa fac chestia asta prin Powershell si in cele din urma am reusit sa fac urmatorul script care creaza folderele si da permisiuni inherited userilor.
$Users = Get-Content "C:\Users.txt"
ForEach ($user in $users)
{
$newPath = Join-Path "\\fileserver\homefolder" -childpath $user
New-Item $newPath -type directory
$acl = Get-Acl $newpath
$permission = "domeniu\$user","FullControl","Allow"
$inherit =[system.security.accesscontrol.InheritanceFlags]"ContainerInherit,ObjectInherit"
$propagation=[system.security.accesscontrol.PropagationFlags]"None"
$accessRule = New-Object System.Security.AccessControl.FileSystemAccessRule ("domeniu\$user", "FullControl", $inherit, $propagation, "Allow")
$acl.SetAccessRule($accessRule)
$acl | Set-Acl $newpath
}
Lista cu userii o puteti obtine tot via Powershell prin comanda de mai jos:
Get-ADUser -Filter * -SearchBase "OU=TestUsers,DC=domeniu,DC=ro" -Properties * | Select-Object -property SamAccountName| Export-CSV c:\Users.csv
Iar urmatorul pas dupa crearea folderelor este sa setati Home Folder in proprietatile userului in Active Directory pentru ca maparea sa se faca automat dupa logon. Urmatoarea comanda va enumera userii dintr-un OU specificat si le va seta calea catre homefolder.
Get-ADUser -Filter * -SearchBase "OU=TestUsers, dc=domeniu,dc=ro" | %{set-aduser-identity $_ -HomeDirectory (‘\\fileserver\homfolder\’+ $($_.SamAccountName)) -homedrive"n:"}