如何将 Windows ACL 恢复为默认值?

如何将 Windows ACL 恢复为默认值?

几个月前,我买了一台电脑,我决定不再使用预装的 Windows 7 Home Premium 和 OEM 组件,而是从 DreamSpark 光盘上进行全新安装。当时我也想安装 Ubuntu,但因为这是我唯一的电脑,我想在以后添加 Ubuntu 时使用起来更方便。当我决定安装 Ubuntu 时,我首先使用 Paragon Backup & Recovery 10 备份了我现有的 Windows 安装,然后继续安装 Ubunutu。我最终不得不重新分区,因为我想保持恢复分区原样,所以我在第一个主分区中添加了一个扩展分区,清除了安装。安装 Ubuntu 后,我从备份中恢复并重新调整了引导加载程序。

此后不久,我注意到 Windows Installer 无法正确安装程序,并且注意到每个文件和目录的权限都已设置为 Everyone/Full Control,并且没有任何针对 SYSTEM 或 Administrators 或 Users 的特殊权限。因此,我尽力从另一个 Windows 7 系统手动应用了一些权限。此后一切运行正常。上周,我再次查看了权限,发现对所有事物都拥有 Everyone 权限几乎违背了拥有权限的目的,因此我将权限从不应该拥有权限的地方(例如 Windows 文件夹、Program Files、Users 的部分)删除。不幸的是,现在它似乎破坏了一些系统服务。Windows Installer 再次停止工作,Windows Update 无法应用更新,并且事件日志服务从服务控制台中消失。

我想要的是用现有安装的权限以编程方式覆盖硬盘上的权限。我已准备好 Windows 8 VM,如果需要,可以制作 Windows 7 VM。唯一的问题是如何应用权限。搜索后,我找到了“Copy-Acl”cmdlet,我认为它可能有效,但我无法安装 VM 磁盘。如果可能的话,我想避免完全重新安装,因为备份会花很长时间,而且说实话,我的驱动器不够大(我有 200GB 的文件,而且有很多松散的文件)。我有哪些选项可以修复 ACL,如果从现有安装克隆是可以接受的,我该如何安装虚拟磁盘并继续复制 ACL?

答案1

由于这将批量修改大量文件权限,请先备份所有数据。

cd /D D:
TakeOwn /R /F *
  1. 启动到 WinPE(例如 BartPE 或 WinRE)并执行以下命令:

    1. 将当前驱动器号更改为D:手册页

      cd /D D:
      
    2. 递归获取D:(中的所有文件/文件夹的所有权手册页

      TakeOwn /R /F *
      
  2. 设置权限:Windows NT 中的默认 NTFS 权限

相关内容