Folder Permissions with Powershell error

Hi Guys,

I’m quite new to powershell and trying to use the Get-ACL and set-acl cmdlets to change a folder permission on a new folder.

i have set a $paste for the username so for example would be jack.smith

i am trying to create the folder with
FileSystemRights : DeleteSubdirectoriesAndFiles, Modify, Synchronize
AccessControlType : Allow
IdentityReference : USERNAME
IsInherited : False
InheritanceFlags : ContainerInherit, ObjectInherit
PropagationFlags : None

but i get an error when trying to create a permissions object like below:

PS C:\Users\xxxxx> $Perms = New-Object  system.security.accesscontrol.
filesystemaccessrule("$paste$","DeleteSubdirectoriesAndFiles","Modify","Synchron
ize","ContainerInherit","ObjectInherit")

New-Object : Cannot find an overload for "FileSystemAccessRule" and the argumen
t count: "6".
At line:1 char:20
+ $Perms = New-Object <<<<   system.security.accesscontrol.filesystemaccessrule
("$paste$","DeleteSubdirectoriesAndFiles","Modify","Synchronize","ContainerInhe
rit","ObjectInherit")
    + CategoryInfo          : InvalidOperation: (:) [New-Object], MethodExcept
   ion
    + FullyQualifiedErrorId : ConstructorInvokedThrowException,Microsoft.Power
   Shell.Commands.NewObjectCommand



any help would be great!

Check out Rohn Edwards’s PowerShell Access Control module, it automates a lot of what could be tedious to do manually with the native cmdlets…

Done it! thanks for the suggestion, it seems overly complicated compared to the module you linked me to :slight_smile:

The problem you are having is some of the parameters to the FileSystemAccessRule constructor are a collection and you don’t have them together (e.g., ‘ContainerInherit’,‘ObjectInherit’ vs. ‘ContainerInherit, ObjectInherit’)

Try using this code snippet instead:

# https://msdn.microsoft.com/en-us/library/sfe70whw(v=vs.110).aspx
$Perms = New-Object -TypeName System.Security.AccessControl.FileSystemAccessRule -ArgumentList (
"$paste$",
'Modify',
'ContainerInherit, ObjectInherit',
'Allow')