在我将目录以完整权限复制到新服务器后,运行一个非常简单的 ICACLS 命令。我需要将 SID 从旧服务器用户组更改为新服务器用户组。
使用 ROBOCOPY 源目标 /SEC 复制文件夹...
使用 PSGetSid 获取旧服务器用户组和新服务器用户组的 SID。
icacls folder /save acl /t
icacls folder /substitute S-blahold S-blahnew /restore acl
我收到一条错误消息:s-blahold:没有完成帐户名和安全 ID 之间的映射。
我尝试用服务器名称\组替换 SID。我以对新旧服务器具有管理员访问权限的管理员帐户身份运行。
源服务器是 Windows 2003,目标服务器是 Server 2008。
答案1
如果它们在同一个域中,您可能能够使用友好格式,例如 DOMAIN\USERNAME。我发现在同一个域中时这确实有效。
另一件事是:您在 SID 前面加了星号,对吗?
最后,你可以尝试亚蛋白- 这允许执行 SID 替换,而无需实际在 AD 中查找对象是否存在。
答案2
你可以使用subinacl
执行此任务