Home Directories, take ownership, permission and delete script?

Can this be scripted?  I have several servers with home directories, but permissions are different on each one, some only the user has permissions and owns, others are orphaned, others I have to propegate permissions to subcontainers before deleting.

Could this be done with takedown and cacls in a script that pulls directory names from a text or excel file?
rtmcmullenAsked:
Who is Participating?
 
sirbountyConnect With a Mentor Commented:
rmdir is another internal command, like echo, so pass it also through cmd /c

objShell.Run "cmd /c rmdir /s /q " & strData
0
 
sirbountyCommented:
You can either script a shell run of subinacl to do it, or if you have the resource kit for NT/2k, there is already a script, fileman.vbs that will do it for you...I'll see if I can locate it.
0
 
sirbountyCommented:
http://www.tek-tips.com/viewthread.cfm?qid=1346443&page=2 is the relative info from fileman.vbs
0
Hire Technology Freelancers with Gigs

Work with freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely, and get projects done right.

 
sirbountyCommented:
Here's details on subinacl usage: http://support.microsoft.com/?kbid=265360
0
 
rtmcmullenAuthor Commented:
I never could get subinacl to work on subdirectories.. fileman.vbs similar problems, I only got to work on files....
0
 
rtmcmullenAuthor Commented:
I have these 2 commands which do what I want, I just need to know how to incorporate into a script that pulls from a list:

takeown.exe /R /d y /F C:\users\testuser
echo y| cacls C:\users\testuser /t /g username:f
0
 
sirbountyCommented:
Something like...
Dim objFSO:Set objFSO=CreateObject("Scripting.FileSystemObject")
Dim objShell:Set objShell=CreateObject("Wscript.Shell")
Dim objFile:Set objFile=objFSO.OpenTextFile("C:\Folderlist.txt")
user="YourUser"
Do while not objFile.AtEndOfStream
  strData=objFile.ReadLine
  objShell.Run "takeown /r /d y /F " & strData
  objShell.Run "cmd /c echo y|cacls " & strData & " /t /g " & user & ":f"
Loop
objFile.Close
Set objFSO=Nothing
Set objShell=Nothing
0
 
rtmcmullenAuthor Commented:
Awesome!  Thanks for the super quick ressponse Sirbounty, just what I asked for!  If I wanted to delete the said directory, would I add a rmdir /s /q to that?  Thanks again :)

0
 
rtmcmullenAuthor Commented:
Thank you again.. you are good!
0
 
sirbountyCommented:
Happy to help - thanx for the grade!
0
 
rtmcmullenAuthor Commented:
sirbounty, just running into one snag, one some, it is not permissioning some downlevel directories and failing to delete.. any ideas?
0
 
sirbountyCommented:
you can change the cmd /c to a cmd /k to leave the window open - see if it's getting any errors and then 'stopping' the process... I think cacls uses a /c to continue on errors (access denied).
0
All Courses

From novice to tech pro — start learning today.