Изменить права доступа к файлу через Powershell - PullRequest
0 голосов
/ 22 марта 2019

Я пытаюсь изменить права доступа к файлу через Powershell, и у меня возникают проблемы с выяснением, как заставить это работать.

$path1 = "\\somepath1\somefile1"
$path2 = "\\somepath2\somefile2"
$acl = Get-Acl $path1
$access_rule = New-Object System.Security.AccessControl.FileSystemAccessRule("User","Write","ContainerInherit,ObjectInherit","None","Deny")
$acl.SetAccessRule($access_rule)
$acl | Set-Acl $path2

"User" - это определенная группа пользователей, состоящая из многих пользователей, и в реальном коде она называется чем-то другим.Это приводит к двум ошибкам:

Исключение вызывает "SetAccessRule" с аргументом (ами) "1": некоторые или все ссылки на идентификаторы не могут быть переведены. "

Set-Acl: некоторыеили все ссылки на идентификаторы не могут быть переведены.

Затем я пытаюсь замять код, по сути, пытаясь скопировать разрешения одного файла в другой:

$path1 = "\\somepath1\somefile1"
$path2 = "\\somepath2\somefile2"
Get-Acl -Path $path1 | Set-Acl -Path $path2

Даже этовыдает ошибку:

Set-Acl: некоторые или все ссылки на идентификаторы не могут быть переведены.

Если я правильно понимаю эти ошибки, то мой "User" неопределяется правильно. Я пытаюсь получить информацию "User", запустив командлет Get-ADUser , но модуль ActiveDirectory не должен быть установлен, потому что я получаю эту ошибку:

Get-ADUser: термин «Get-AdUser» не распознается как имя командлета, .........

Мой главный вопрос сейчасКак я могу получить информацию о SID пользователя, чтобы правильно изменить разрешения для файла?где-нибудь сделать шаг?Есть ли лучший способ изменить права доступа к файлам?Могу ли я даже попытаться изменить разрешения для группы?Я врезался в стену, пытаясь найти решение, смеется.

Я обратился к следующим источникам за помощью:

ссылка ссылка ссылка ссылка ссылка ссылка ссылка ссылка

...