yakiimonster
2/6/2019 - 7:59 AM

acl

フォルダやファイルのアクセス権設定

$userName = "domain\name"
$acl = Get-Acl $folderPath

# FileSystemRights: 権限
## Modify: 変更
# InheritanceFlags 継承のセマンティクスを指定
## ObjectInherit: ACE は、子コンテナー オブジェクトによって継承
## ObjectInherit: ACE は、子リーフ オブジェクトによって継承
# PropagationFlags 子オブジェクトに反映させる方法を指定
## None: 継承フラグが設定されていないことを指定
# AccessControlType: アクセスの許可または拒否
## Allow アクセスを許可
$permission = ($userName`
    , [System.Security.AccessControl.FileSystemRights]::Modify`
    , ([System.Security.AccessControl.InheritanceFlags]::ObjectInherit -bor [System.Security.AccessControl.InheritanceFlags]::ContainerInherit),`
    , [System.Security.AccessControl.PropagationFlags]::None`
    , [System.Security.AccessControl.AccessControlType]::Allow)

# 引数:ユーザー名,アクセス権,下位フォルダへ継承,下位オブジェクトへ継承,継承の制限,アクセス許可
$accessRule = New-Object System.Security.AccessControl.FileSystemAccessRule $permission
$acl.SetAccessRule($accessRule)
$acl | Set-Acl $folderPath