I found this VB script, but I havn't personally tested it, so use it with caution. It seems to do what you want, as long as the username is exactly the same as the folder name you're changing.
You can change the CACLS command line to totally replace the ACL if your ACLs are totally broken, follow the help attached to the CACLS program to find out what switches you need to change. You will also need to add in the other users you want to have access e.g adminstrator to the end of the CACLS line if you do this. Running it in its current form edits the ACL and adds in the necessary permissions for the matching user only.
Code:
Set objFSO = CreateObject("Scripting.FileSystemObject")
strPath = "\\Server\HomefolerPath" '<--- Homefolder UNC path
Set objFolder = objFSO.GetFolder(strPath)
Set colSubfolders = objFolder.Subfolders
For Each objSubfolder in colSubfolders
strFolderName = objSubFolder.Name
Set objShell = CreateObject("Wscript.Shell")
strExec = objShell.Run("%COMSPEC% /c Echo Y| cacls " _
& strFolderName & " /E /T /P " & strFolderName & ":F ", 2, True) '<--- 1st "strFolderName" reflects the homefolder name. 2nd "strFolderName" reflects Username
If strExec <> 0 Then
MsgBox "Error with " & strFolderName & " and folder: " & strFolderName
End If
Next If running it on the server, which I would recommend you do, and not from a workstation across the network, change from using the UNC path to the local path insted.
hope that's of help.
Mike.