Question

i am trying to write a script which adds"CreatorOwner" permission to profile$ folders on all file servers;

i.e , add "CreatorOwner" permissions to "\FileServer\Profile$"

can anybody tell me whats the command and syntax for it?

Please do ask if any questions.

Was it helpful?

Solution

One way of doing this is using WMI and UNC paths.

$AccessRule = New-Object  system.security.accesscontrol.filesystemaccessrule("CREATOR OWNER","FullControl","ContainerInherit, ObjectInherit","InheritOnly","Allow")
$profileshare = Get-WmiObject Win32_Share -ComputerName fileserver -Filter "name = 'profile$'"
$driveletter, $path = $profileshare.path
$path = $path.TrimStart("\")
$ACL = Get-Acl "\\fileserver\$driveletter`$\$path"
$ACL.SetAccessRule($AccessRule)
Set-Acl \\fileserver\$driveletter`$\$path -AclObject $ACL

Now if you have a list of server names you could do the following:

$servers = @("fileserver1","fileserver2","fileserver3")
$AccessRule = New-Object  system.security.accesscontrol.filesystemaccessrule("CREATOR OWNER","FullControl","ContainerInherit, ObjectInherit","InheritOnly","Allow")
$servers | % {
$profileshare = Get-WmiObject Win32_Share -ComputerName $_ -Filter "name = 'profile$'"
$driveletter, $path = $profileshare.path
$path = $path.TrimStart("\")
$ACL = Get-Acl "\\$_\$driveletter`$\$path"
$ACL.SetAccessRule($AccessRule)
Set-Acl \\$_\$driveletter`$\$path -AclObject $ACL
}

OTHER TIPS

This will do it:

#Change the CSV file path

$Permissions = Import-Csv C:\Test.CSV -delimiter '|'
ForEach ($line in $Permissions)
$inherit = [system.security.accesscontrol.InheritanceFlags]"ContainerInherit, 
ObjectInherit"

$propagation = [system.security.accesscontrol.PropagationFlags]"None" 

$acl = Get-Acl $line.Path
$acl.SetAccessRuleProtection($True, $False)
$accessrule = New-Object system.security.AccessControl.FileSystemAccessRule("domain users", "Read", $inherit, $propagation, "Allow")

#Adding the Rule
$acl.AddAccessRule($accessrule)

#Setting the Change
Set-Acl $line.Path $acl 

What the CSV file looks Like

\SRV01\Folder1\Folder2 etc.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top