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

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

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

$owner = $origFile.GetAccessControl().GetOwner([System.Security.Principal.SecurityIdentifier])
             $newFile = Get-Item -Path $PathoutFile
             $FileSecurity = new-object System.Security.AccessControl.FileSecurity
             $FileSecurity.SetOwner($owner)
             [System.IO.File]::SetAccessControl($newFile, $FileSecurity)
             Get-Acl -Path $origFile | Set-Acl -Path $newFile

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

решение1

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

Связанный контент