傳輸檔案權限時出錯

傳輸檔案權限時出錯

我遇到了一個問題,編寫了一個腳本,透過程式壓縮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

我的問題是這樣的:我使用網域管理員權限執行腳本,一切正常。如果我使用網域使用者帳戶並授予該目錄最大權限,則會在其中儲存壓縮文件,在這種情況下,我會收到錯誤「嘗試執行未經授權的操作。我不想在管理員帳戶下運行腳本,原因很簡單,我相信這樣的權限對於執行此操作是多餘的。我正在學習並犯錯誤,但我想學習如何編寫好的腳本並能夠勝任地管理其工作所需的存取規則,因此我請您幫助我弄清楚我需要做什麼,以便在使用時分配權限劇本。我在google上搜尋了關於這個問題的信息,但沒有找到全面的信息。我發現如果沒有管理員權限就無法更改所有者的信息,但我不明白為什麼在這種情況下我無法將權限轉移到新文件。請幫我解決這個問題。將舊文件的擁有者設定為新文件是一項可選任務。 Ps 操作在網路共用上執行,執行腳本的使用者俱有完全存取權限。網路資料夾位於 Win Serv 2008 SP2 上,腳本在 Windows 10 Pro 上執行。提前致謝。

答案1

我自己使用 NTFSSecurity PowerShell 模組找到了主要問題的解決方案。存取權限的轉移是使用 Get-NTFSAccess $filein | 執行的。新增 NTFSAccess $fileout

相關內容