Рейтинг:0

Ошибка при передаче прав доступа к файлам

флаг cn

Столкнулся с проблемой, написал скрипт, который сжимает pdf файлы через программу и передает права на новый файл путем копирования из старого, чтобы разграничить доступ к новым файлам. Вот часть кода, которая у меня есть, является проблемой

$owner = $origFile.GetAccessControl().GetOwner([System.Security.Principal.SecurityIdentifier])
             $newFile = Get-Item -Path $PathoutFile
             $FileSecurity = новый объект System.Security.AccessControl.FileSecurity
             $FileSecurity.SetOwner($владелец)
             [System.IO.File]::SetAccessControl($newFile, $FileSecurity)
             Get-Acl -Path $origFile | Set-Acl-Путь $newFile

Моя проблема заключается в следующем: Выполняю скрипт с правами администратора домена, все работает нормально. Если я использую учетную запись пользователя домена и даю максимальные права на каталог, в нем сохраняется сжатый файл, и в этом случае я получаю ошибку «Попытка выполнить несанкционированную операцию». Я не хочу запускать скрипт под учетной записью администратора по простой причине, считаю, что такие права избыточны для выполнения этой операции. Я учусь и делаю ошибки, но я хочу научиться писать хорошие скрипты и грамотно управлять необходимыми правилами доступа для их работы, поэтому прошу вас помочь мне разобраться, что мне нужно сделать, чтобы права назначались при использовании сценарий. Я искал информацию в гугле по этому вопросу, но исчерпывающей информации не нашел. Нашел информацию, что нельзя без прав администратора сменить владельца, но не понимаю, почему я не могу передать права на новый файл в таком случае. Пожалуйста, помогите мне в решении этой проблемы. Установка владельца из старого файла в новый файл — необязательная задача. P.s действия выполняются на сетевом ресурсе и пользователь под которым работает скрипт имеет полный доступ.Сетевая папка находится на Win Serv 2008 SP2, а скрипт запускается на Windows 10 Pro. Заранее спасибо.

Рейтинг:0
флаг cn

Я сам нашел решение своей основной проблемы с помощью модуля PowerShell NTFSSecurity. Передача прав доступа выполнялась с помощью команды Get-NTFSAccess $filein | Add-NTFSAccess $fileout

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.