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?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

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
Cloud Class® Course: Microsoft Office 2010

This course will introduce you to the interfaces and features of Microsoft Office 2010 Word, Excel, PowerPoint, Outlook, and Access. You will learn about the features that are shared between all products in the Office suite, as well as the new features that are product specific.

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
sirbountyCommented:
rmdir is another internal command, like echo, so pass it also through cmd /c

objShell.Run "cmd /c rmdir /s /q " & strData
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
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
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
VB Script

From novice to tech pro — start learning today.