Я пытаюсь изменить права доступа к файлу через 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 пользователя, чтобы правильно изменить разрешения для файла?где-нибудь сделать шаг?Есть ли лучший способ изменить права доступа к файлам?Могу ли я даже попытаться изменить разрешения для группы?Я врезался в стену, пытаясь найти решение, смеется.
Я обратился к следующим источникам за помощью:
ссылка ссылка ссылка ссылка ссылка ссылка ссылка ссылка