I tried the powershell forum at myitfourm.com.

 

I did not even think to setup a template and store the ACL list and then
just reset from the file.  I will give it a go when I get some time today.
Which I may add looks like it will be tomorrow.  

 

Bob

 

 

From: Michael B. Smith [mailto:[email protected]] 
Sent: Wednesday, August 25, 2010 9:26 PM
To: NT System Admin Issues
Subject: RE: [powershell] clear all permissions on a folder

 

Which PowerShell forum did you try?

 

The easiest thing to do is to configure one file and one folder exactly the
way you want.

 

Then, store off the desired ACL for file and folder

 

                $folderACL = get-acl c:\folder

                $fileACL = get-acl c:\folder\specific.file

 

Then, use that ACL to set the ACL on each item.

 

For example

 

                Dir x:\some-directory -recurse |% {

                                If( $_.PSIsContainer ) { set-acl $_
$folderACL; }

                                Else { set-acl $_ fileACL; }

                }

 

Note, I didn't test the above, but it's pretty close. You might need to use
$_.FullName as the first parameter to set-acl instead of just $_.

 

Regards,

 

Michael B. Smith

Consultant and Exchange MVP

http://TheEssentialExchange.com

 

From: Johonn2 [mailto:[email protected]] 
Sent: Wednesday, August 25, 2010 8:20 PM
To: NT System Admin Issues
Subject: [powershell] clear all permissions on a folder

 

 

Fyi. I did try the powershell forum but did not get any reply's.  Can anyone
help me out here?

 

 

I need to figure out how to remove all permissions from a folder then add
"domain admins".  History:  We are about to begin a data migration from
multiple file servers to one nas-head.  Everything we need to do to automate
the migration is completed in a powershell script I have been working on
expect for removing permissions on the old directory.  Right now things are
messed up where multiple people have access to other people's home drives.

That is changing with this migration.  To insure the data does not change in
the old location once we migrate the data we want to strip all permissions
expect for domain admins.  This also insures if there is a problem with the
migration we will have access to the old (backup) data right away.

 

 

The script right now exports any user in a set OU where their homeDirectory
does not equal \\newShare\share\%username%
<file:///\\newShare\share\%25username%25>  to a csv file along with their AD

account name and current homeDirectory.   

 

What I need to do for removing permissions;

 

Done - Input csv file of users home directory and parse each record 

Done - Get-acl for each homeDirectory 

No Clue - Remove each users access from each homeDirectory 

Done - Add acl for "domain Admins" 

Done - Commit or set-acl. 

 

 

Example of exported file:

"test02","\\oldShare\share\test02

 

 

What I am thinking...

 

$ADusers = "file location"

 

#Import AdUser to remove permissions

$colResult = Import-Csv $ADUsers

    

#parse each record for home directories 

    foreach ($objHomeDirectory in $colResult)

    {

        #reterive ACL list of current users homeDirectory

        $acl = Get-Acl ($objHomeDirectory.HomeDirectory)

 

### At this point $acl should hold the ACL list for all users that have

permissions to  \\oldShare\share\test02 <file:///\\oldShare\share\test02> 

### I am just not sure what to do with it to remove permissions.      

###

     #parse each $acl record and remove permissions

Foreach ...........

 

 

Thank you,

 

Bob

 

 

 

 

 

~ Finally, powerful endpoint security that ISN'T a resource hog! ~
~ <http://www.sunbeltsoftware.com/Business/VIPRE-Enterprise/>  ~

Reply via email to