Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

Change Folder Permissions in Bulk

Posted on 2009-07-06
4
Medium Priority
?
539 Views
Last Modified: 2013-12-04
Hello.

Currently I am in a W2K3 Enviroment.  

On one of our shared drives we have a list of Jobs, each which have a folder called COST.  I need to reset permissions on that COST folder, but can't push it down via inheritance.  Is there any way by a gui tool or script I can make those changes.

An Example of the structure is:

\\root\JobFiles\JobNumber1\Cost

Therefor I would like to script something that rests the permissions for these folders

\\root\JobFiles\JobNumber1\Cost
\\root\JobFiles\JobNumber2\Cost
\\root\JobFiles\JobNumber3\Cost


and so forth.
0
Comment
Question by:AaronIT
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
4 Comments
 
LVL 38

Expert Comment

by:Hypercat (Deb)
ID: 24788900
You could use the cacls.exe command line tool and then script the changes that you need to make.  You can get the applicable switches for the command by running cacls /? at the command line, if you're not familiar with it. You'd still have to identify each folder individually in the script, but at least you could cut and paste the folder paths.
There's also an enhanced tool for Win2K3 SP2, which I've never used:
http://support.microsoft.com/kb/919240 
0
 
LVL 2

Author Comment

by:AaronIT
ID: 24788947
So keeping with my example above...

What would my command be

cacls \\root\JobFiles\JobNumber1\Cost /T

How do I set it to inherit?

Can I also add a group vice a user?
0
 
LVL 85

Accepted Solution

by:
oBdA earned 1000 total points
ID: 24789010
Well, this would be a lot easier to answer if you'd say which permissions those Cost folders should have ...
The example below would add *C*hange permissions to all Cost subfolders, leaving the current permissions intact.
Simply enter the following command in a command line.
You can do that safely, it's in test mode and will only echo the cacls commands it would otherwise run:

for /d %a in ("\\root\JobFiles\*.*") do @ECHO cacls.exe "%a\Cost" /t /e /g:YOURDOMAIN\SomeGroup:C

To run it for real, you'd need to leave out the @ECHO.
0
 
LVL 1

Assisted Solution

by:vixtro
vixtro earned 1000 total points
ID: 24839782
Agreeing with oBdA - it'd be a lot easier if you could say what you want the permissions on the folders to look like after the script has run.
I use xcacls.vbs from VBScript on my fileserver - I use it to go through and change permissions of subfolders en masse. You can download XCACLS.VBS from here:
http://www.microsoft.com/downloads/details.aspx?familyid=0ad33a24-0616-473c-b103-c35bc2820bda&displaylang=en
You'll have to play around with it a little as i'm not entirely sure exactly what end result you're after. To see the switches for xcacls.vbs, run this from the command prompt:

cscript \\path\to\xcacls.vbs /?

NB: Copy and paste this code into a blank notepad document, and save it with the extension ".vbs" for it to work.



Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objShell = CreateObject("WScript.Shell")
 
Set rootPath = "\\root\jobfiles"
xcaclsPath = "path\to\xcacls.vbs"
 
Set rootFolder = objFSO.GetFolder(rootPath)
 
For Each subfolder in rootFolder.subfolders
  fldrName = subfolder.name
  'Running the next two commands grant MODIFY access to the specified user
  modCmd = "cscript " & xcaclsPath & " " & rootPath & "\" & fldrName & "\Cost /E /G DOMAIN\username:M"
  objShell.Run modCmd, 1, True
  'Running the next two commands turn the INHERIT flag for the folder on.
  inCmd = "cscript " & xcaclsPath & " " & rootPath & "\" & fldrName & "\Cost /E /I ENABLE"
  objShell.Run inCmd, 1, True
Next

Open in new window

0

Featured Post

2017 Webroot Threat Report

MSPs: Get the facts you need to protect your clients.
The 2017 Webroot Threat Report provides a uniquely insightful global view into the analysis and discoveries made by the Webroot® Threat Intelligence Platform to provide insights on key trends and risks as seen by our users.

Question has a verified solution.

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

Container Orchestration platforms empower organizations to scale their apps at an exceptional rate. This is the reason numerous innovation-driven companies are moving apps to an appropriated datacenter wide platform that empowers them to scale at a …
ADCs have gained traction within the last decade, largely due to increased demand for legacy load balancing appliances to handle more advanced application delivery requirements and improve application performance.
Michael from AdRem Software outlines event notifications and Automatic Corrective Actions in network monitoring. Automatic Corrective Actions are scripts, which can automatically run upon discovery of a certain undesirable condition in your network.…
In this video, Percona Solutions Engineer Barrett Chambers discusses some of the basic syntax differences between MySQL and MongoDB. To learn more check out our webinar on MongoDB administration for MySQL DBA: https://www.percona.com/resources/we…
Suggested Courses

688 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