我正在尝试删除一个过时的SID (该帐户显然已被删除)。
我尝试在服务器(win2003)和客户机(Win7)上运行以下命令:
icacls c:\path /remove *S-1-5-21-1883347182-1220252494-433279356-1095 /T但我总是得到输出
Successfully processed 0 files; Failed processing 0 files却什么都不做。我怎么才能让它起作用?
更新:
我使用AccessEnum来获取SID,因为icacls只说“帐户名和安全ID之间没有映射”。但却没有显示出那个人。
AccessEnum的输出是:
"Path" "Read" "Write" "Deny"
"c:\path" "Administrators, S-1-5-21-1883347182-1220252494-433279356-1095, ..." "Administrators, S-1-5-21-1883347182-1220252494-433279356-1095, ..." "" 发布于 2011-01-19 16:13:06
我对另一个相似问题的建议
“也许你在找SUBINACL,下载它吧,这里
subinacl.exe /help /cleandeletedsidsfrom提供了以下内容:
/cleandeletedsidsfrom=domain=dacl\sacl_
从DomainName中删除包含已删除(无效) Sids的所有ACEs --您可以指定安全描述符的哪一部分将被扫描(default=all)如果所有者被删除,新所有者将是Administrators组。如果删除主组,则新的主组将是用户组。显示您可以在需要时将其与/file、/share或/subdirectories一起使用。
发布于 2013-05-19 16:46:26
我找到了使用/save和/restore函数icacls的最可移植和最简单的方法:
icacls C:\ /save D:\creds.txt /T然后,我将使用Vim或其他等效的gred/sed/awk来操作该文件。这允许我删除SID,替换SID,等等。
icacls C:\ /restore D:\creds.new.txt /T就是这样。不需要下载其他程序。不需要学习另一个非标准的命令行语法。我只需创建一个虚拟文件,并使用GUI或其他任何东西使ACL完全按照我想要的方式运行,使用/save查看生成的ACE字符串的外观,然后将该ACE字符串复制并粘贴到creds.new.txt中。
发布于 2010-08-02 13:05:28
为什么不直接使用GUI呢?打开文件夹属性并从安全设置中删除不需要的SID。这对我来说总是有用的。
https://serverfault.com/questions/165531
复制相似问题