не может создать правило запрета ACL с несколькими правами - PullRequest
0 голосов
/ 24 апреля 2020

Я пытаюсь сделать эквивалент в PowerShell:

icacls documents /deny users:w

Итак, в качестве руководства: https://blog.netwrix.com/2018/04/18/how-to-manage-file-system-acls-with-powershell-scripts/, я пытаюсь это сделать. На самом деле права - это запись и синхронизация (неожиданно), «Запись, синхронизация».

$acl = Get-Acl documents
$AccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule(
  'Users','Write, Synchronize','Deny')
$acl.SetAccessRule($AccessRule)
$acl | Set-Acl documents

Но внутри $ accessrule есть только «Запись»:

$accessrule

FileSystemRights  : Write
AccessControlType : Deny
IdentityReference : Users
IsInherited       : False
InheritanceFlags  : None
PropagationFlags  : None

И если я приведите права к правильному типу, который работает:

[System.Security.AccessControl.FileSystemRights]'write,synchronize'
Write, Synchronize

Даже если я использую эквивалентное число для перечисления прав, 1048854, будет отображаться только свойство 'Write'.

Или если Копирую права из другого файла, все отлично работает.

get-acl file1 | set-acl documents
...