SID没有被设置

我使用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完成此操作的最佳方法; 在那里有一个/SECFIX开关在Server 2003的robocopy版本。

我正在Windows 7上进行testing,并对输出进行区分以确保源具有与目标完全相同的权限。 我打算在Windows Server 2003上做同样的事情,当我validation它是正确的。

为了区别他们我运行:

 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 

当我比较两个文件时,我注意到目标端缺less一个SID ,还有一个丢失的hex代码(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) 

资源

另一个问题的人提出,即使我在同一台计算机上的同一个驱动器上复制文件是某种networking呃逆。 这个操作系统已经通过多个pipe理员并安装在多台机器上; 所以我不知道这跟它有什么关系。 有没有什么办法解决这一问题?

如果它是一个AD帐户,那么通过“networking打嗝”,我的意思是,Windows无法查找帐户,有时会发生连接问题。 也可能是您的帐户没有查询域帐户的权限(可能是本地帐户?)。

但是, 我的工作站上的Adobe Flash Player更新程序正在以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 

所以这可能是你最好的select,尽pipe在2003年默认情况下没有安装PowerShell。但是,没有什么可以阻止安装它。