Having done this in the past I wrote a script that will enumerate all users in an OU and reset the permissions on their home directory (from AD) to full control for their username(from ad). Will take a little modifying to set the additional permissions you require.
Matt
Code:
'Global variables
Dim Container
Din objShell
'Initialize global variables
Set objShell = CreateObject("Wscript.Shell")
Set Container=GetObject("LDAP://<AnyDC>/OU=The,OU=OU,OU=Path,DC=domain,DC=domain")
'Enumerate Container
EnumerateUsers Container
'Clean up
Set Container = Nothing
'Say Finished when your done
WScript.Echo "Finished"
WScript.Quit(0)
'List all Users
Sub EnumerateUsers(Cont)
Dim User
'Dim folder
'Go through all Users and select them
For Each User In Cont
Select Case LCase(User.Class)
'If you find Users
Case "user"
ExecCommand= "cacls " & "" & chr(34) & User.homeDirectory & chr(34) &"" & " /t /e /c /g " & "" & User.userPrincipalName & "" & ":F"
Wscript.Echo "Outputting for user: " & User.name
Wscript.Echo ExecCommand
set oCommand = objShell.Exec(ExecCommand)
wscript.echo oCommand.stdout.readall
WScript.Echo "***** END USER********"
Case "organizationalunit" , "container"
EnumerateUsers User
End Select
Next
End Sub