2016-04-21 14 views
0

$ADNameRO$ADNameRW(以下で作成したものです)はその下のフォルダには適用されませんが、権限は継承されます。セキュリティグループが他のフォルダ/ファイルに適用されないようにしようとしています

...それが唯一のフォルダとファイルに適用されるように、私はそれがに追加されていること、これらの二つの文字列の伝搬フラグを変更しようとしたが、それはまだのは、サブファイルおよびフォルダに追加されます

私はこれらの文字列の両方のためにInheritanceFlagsをObjectに変更する必要があるかもしれないと思ったが、手動で(Windows GUIを介して)変更したときに正しく動作していないようだ...

感謝する。 「このフォルダのみ」用と「ファイルのみ」のための1:継承せずにフォルダやファイルへのアクセス権限を設定する

function New-Ace { 
    [CmdletBinding()] 
    Param(
    [Parameter(Mandatory=$true, Position=0)] 
    [Security.Principal.NTAccount]$Account, 
    [Parameter(Mandatory=$false, Position=1)] 
    [Security.AccessControl.FileSystemRights]$Permissions = 'ReadAndExecute', 
    [Parameter(Mandatory=$false, Position=2)] 
    [Security.AccessControl.InheritanceFlags]$InheritanceFlags = 'ContainerInherit,ObjectInherit', 
    [Parameter(Mandatory=$false, Position=3)] 
    [Security.AccessControl.PropagationFlags]$PropagationFlags = 'None', 
    [Parameter(Mandatory=$false, Position=4)] 
    [Security.AccessControl.AccessControlType]$Type = 'Allow' 
) 

    New-Object Security.AccessControl.FileSystemAccessRule(
    $Account, $Permissions, $InheritanceFlags, $PropagationFlags, $Type 
) 
} 

$domain = 'ESG.INTL' 
$administrators = ([wmi]"Win32_Sid.Sid='S-1-5-32-544'").AccountName 
$ADDomainUsers = "$domain\Domain Users" 

$acl = Get-Acl $path 

$administrators, "$domain\Domain Admins" | ForEach-Object { 
    $acl.AddAccessRule((New-Ace $_ 'FullControl')) 
} 
$acl.AddAccessRule((New-Ace $ADNameRW 'Modify')) 
$acl.AddAccessRule((New-Ace $ADNameRO 'ReadAndExecute')) 
$acl.AddAccessRule((New-Ace $ADDomainUsers 'ReadAndExecute')) 

答えて

1

は、2つのACEが必要です。 InheritOnlyからObjectInheritと伝播フラグにかつてのセットの場合、両方の継承と伝播フラグNoneに、後者のセットの継承フラグのために:

$acl.AddAccessRule((New-Ace $ADNameRW 'Modify' 'None')) 
$acl.AddAccessRule((New-Ace $ADNameRW 'Modify' 'ObjectInherit' 'InheritOnly')) 
$acl.AddAccessRule((New-Ace $ADNameRO 'ReadAndExecute' 'None')) 
$acl.AddAccessRule((New-Ace $ADNameRO 'ReadAndExecute' 'ObjectInherit' 'InheritOnly')) 
+0

ありがとうございました。私はACEの作成についてもう少し詳しく読む必要があると思います。あなたがそのように綴るときは意味がありますが、毎回新しいものを作成する必要があるとは思わなかったでしょう。しかし、私がそれを実行すると、作成されたフォルダはそのセキュリティグループにいかなる権利も与えません...拡張プロパティの下ではアクセス権を表示しているので、しかし、すべてのアクセス許可は完全に空白です... –

+0

私はこの質問で追加した画像のようです:[Here](http://stackoverflow.com/questions/36753850/set-acl-folder-permissions-not-applying-正しく-with-my-powershell-script) –

+0

プロパティダイアログの "権限"リストボックスをスクロールすると、 "特別な権限"の行にチェックマークがついています。他の行は、パーミッションと継承/伝播フラグの特定の組み合わせに対してのみチェックマークを表示します。それ以外の場合は空です。 –

関連する問題