Windows-Server-2003

SID 未設置

  • April 17, 2015

我用 robocopy 複製了兩棵樹,一個源和一個目標,為了使它們的權限完全相同,我執行了以下命令:

robocopy /MIR C:\Windows\System32\tasks\ C:\temp\robocopyTasks\out\

robocopy /E /Copy:S /IS /IT C:\Windows\System32\tasks\ C:\temp\robocopyTasks\out\

這篇文章告訴我,上面的方法是在 Windows Server 2003 上使用 robocopy 執行此操作的最佳方法;Server 2003 的 robocopy 版本中幾乎沒有一個/SECFIX開關。

我正在 Windows 7 上對其進行測試並區分輸出以確保源具有與目標完全相同的權限。當我確認它工作正常時,我計劃在 Windows Server 2003 上做同樣的事情。

為了區分它們,我執行:

icacls "C:\temp\robocopyTasks\out\*" /save "C:\temp\robocopyTasks\acl\tasks_temp.txt" /T

icacls "C:\Windows\System32\tasks\*" /save "C:\temp\robocopyTasks\acl\tasks_win.txt" /T

然後我使用以下方法區分它們:

gvim --cmd "set fileencodings^=ucs-2le" -d C:\temp\robocopyTasks\acl\tasks_temp.txt C:\temp\robocopyTasks\acl\tasks_win.txt

當我比較這兩個文件時,我注意到目標端缺少一個A SID和一個缺少的十六進制程式碼(在下面的範例中為 0x1200a9),我不知道它做了什麼。

範例差異:

Adobe Flash Player Updater
D:AI(A;;FX;;;SY)(A;;FR;;;SY)(A;ID;FA;;;BA)(A;ID;FA;;;SY)(A;ID;0x1200a9;;;BU)(A;ID;0x1301bf;;;AU)

目的地

Adobe Flash Player Updater
D:AI(A;;FX;;;SY)(A;;FR;;;SY)(A;ID;0x1f019f;;;BA)(A;ID;0x1f019f;;;SY)(A;ID;FA;;;BA)(A;ID;FA;;;S-1-5-21-4105597198-2712133867-546259262-4010)

來源

另一個問題中的某個人建議這是某種網路故障,即使我正在同一台機器上的同一驅動器上複製文件。該作業系統已通過多個管理員並安裝在多台機器上;所以我不知道這是否與它有關。有沒有什麼辦法解決這一問題?

如果它是一個 AD 帳戶,那麼“網路打嗝”是指 Windows 在查找帳戶時遇到問題,這有時會在出現連接問題時發生。也可能是您的帳戶沒有查找域帳戶的權限(也許是本地帳戶?)。

但是,的工作站上的 Adob​​e Flash Player Updater 以SYSTEM身份執行。

您將如何修復它很可能是編寫cacls命令或 powershell set-acl命令的腳本來設置您想要對相關文件的權限。 Set-ACL 允許您將安全性從一個對象複製到另一個對象

PS C:\> $DogACL = get-acl c:\dog.txt
PS C:\> set-acl -path C:\cat.txt -AclObject $DogACL

所以這可能是您最好的選擇,儘管 PowerShell 在 2003 年預設未安裝。不過,沒有什麼可以阻止安裝它。

引用自:https://serverfault.com/questions/683582