Creating homefolders via Powershell

By Michael Stoica - Last updated: Monday, April 22, 2013 - Save & Share - Leave a Comment

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:"}

Posted in Active Directory, Scripting, Windows Server • Tags: Top Of Page

Write a comment