删除未使用的安全描述符的简单方法?

删除未使用的安全描述符的简单方法?

我计划很快重新安装 Windows。我磁盘 D: 上的所有文件(我不打算删除)都将具有来自当前 Windows 安装的安全描述符,以及来自新 Windows 安装的新安全描述符。

有没有办法从驱动器上除当前安装创建的文件夹和文件之外的所有文件夹和文件中删除所有安全描述符?请告诉我如何操作。

答案1

icacls 是可行的方法。我认为这可以解决问题,但如果不行,您可以尝试其他选项:

icacls * /T /Q /C /RESET

http://technet.microsoft.com/en-us/library/cc753525(WS.10).aspx

答案2

除了 icacls 提供的KCotreau 回答在这里,您还可以通过 PowerShell 处理安全描述符。您可能希望从这里开始:

TechNeth:本周 Windows PowerShell 技巧:使用安全描述符

特别注意,您可以在一个文件上设置所需的安全描述符,然后将其用作其他每个文件的模板。以下命令可执行此操作:

C:\>$MyNewACL = get-acl templatefile.txt
C:\>get-childitem x:\somefolder -recurse -force | set-acl -aclobject $MyNewACL

第一个命令将复制文件 templatefile.txt 的安全描述,该文件首先设置为具有您想要重新填充某个文件夹的设置。第二个命令对驱动器 X 内该文件夹中的所有文件进行实际更改(-recurse 将获取该文件夹内的文件和目录,而 -force 将获取隐藏文件)。

也可以看看:Set-Acl 命令

答案3

如果您希望所有驱动器内容具有相同的 ACL,只需将它们设置在顶层(驱动器本身),然后使用选项替换所有子文件夹和文件的 ACL(在高级安全首选项中)。

相关内容