Столкнулся с проблемой, написал скрипт, который сжимает 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.
Заранее спасибо.