Solved

Home Directories, take ownership, permission and delete script?

Posted on 2007-03-28
13
489 Views
Last Modified: 2011-10-03
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?
0
Comment
Question by:rtmcmullen
  • 8
  • 5
13 Comments
 
LVL 67

Expert Comment

by:sirbounty
ID: 18813060
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
 
LVL 67

Expert Comment

by:sirbounty
ID: 18813067
http://www.tek-tips.com/viewthread.cfm?qid=1346443&page=2 is the relative info from fileman.vbs
0
 
LVL 67

Expert Comment

by:sirbounty
ID: 18813069
0
 
LVL 67

Expert Comment

by:sirbounty
ID: 18813073
Here's details on subinacl usage: http://support.microsoft.com/?kbid=265360
0
 

Author Comment

by:rtmcmullen
ID: 18813251
I never could get subinacl to work on subdirectories.. fileman.vbs similar problems, I only got to work on files....
0
 

Author Comment

by:rtmcmullen
ID: 18813256
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
NAS Cloud Backup Strategies

This article explains backup scenarios when using network storage. We review the so-called “3-2-1 strategy” and summarize the methods you can use to send NAS data to the cloud

 
LVL 67

Expert Comment

by:sirbounty
ID: 18813352
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
 

Author Comment

by:rtmcmullen
ID: 18813472
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
 
LVL 67

Accepted Solution

by:
sirbounty earned 500 total points
ID: 18813477
rmdir is another internal command, like echo, so pass it also through cmd /c

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

Author Comment

by:rtmcmullen
ID: 18813489
Thank you again.. you are good!
0
 
LVL 67

Expert Comment

by:sirbounty
ID: 18813502
Happy to help - thanx for the grade!
0
 

Author Comment

by:rtmcmullen
ID: 18816689
sirbounty, just running into one snag, one some, it is not permissioning some downlevel directories and failing to delete.. any ideas?
0
 
LVL 67

Expert Comment

by:sirbounty
ID: 18816737
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

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Need to rewrite code for checking if a file exists 3 58
Messed up my code 6 34
Independent domain networks for setup 6 110
Macro Excel - Multiple If conditions 2 65
Scenerio: You have a server running Server 2003 and have applied a retail pack of Terminal Server Licenses.  You want to change servers or your server has crashed and you need to reapply the Terminal Server Licenses. When you enter the 16-digit lic…
Deploying a Microsoft Access application in a Citrix environment is not difficult but takes a few steps. However, Citrix system people are often of little help, as they typically know next to nothing about Access. The script provided here will take …
In this video I am going to show you how to back up and restore Office 365 mailboxes using CodeTwo Backup for Office 365. Learn more about the tool used in this video here: http://www.codetwo.com/backup-for-office-365/ (http://www.codetwo.com/ba…
Internet Business Fax to Email Made Easy - With eFax Corporate (http://www.enterprise.efax.com), you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, fr…

867 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now