0

我(仍在)运行 Win-7 Home Premium。我了解其中的风险,并且出于多种原因,我仍然不想升级到 Win-10 或重建我的 win-7 安装来纠正这个问题。该系统建于 8 年前,多年来,我创建和删除了许多用户帐户。我目前有三个用户帐户:

Administrator (SID 500)
AdminUser (SID 1003)
NormalUser (SID 1007)

在此过程中,我删除了 Windows 在其原始安装期间创建的原始用户帐户,我认为该帐户被分配了 SID 1000。

在当前系统上,事情通常按预期工作。但我偶尔会遇到奇怪的行为和失败。在故障排除过程中,我发现许多文件夹保留了引用现在孤立的 SID 1000 的 ACL 条目。例如,命令

icacls c:\ProgramData /save output.txt

产生以下

ProgramData
D:PAI(A;OICI;FA;;;SY)(A;OICI;FA;;;BA)(A;OICI;FA;;;S-1-5-21-xxx-yyy-zzz-1000)

上面表示NT AUTHORITY\SYSTEM并且BUILTIN\AdministratorsFull Control权限。它还列出了现在孤立的 1000 用户帐户的完整 SID。我想删除这些对虚假 SID 的引用,但是命令:

icacls C:\ProgramData /remove S-1-5-21-xxx-yyy-zzz-1000

从提升的命令提示符运行时不执行任何操作,报告Successfully processed 0 files. 使用文件管理器时,该按钮在文件夹选项卡的对话框中Remove显示为灰色。所以我也不能以这种方式删除权限。Advanced Security SettingsSecurityProperties

如何删除对这个孤立 SID 的引用?或者将其更改为引用合法的 SID?

或者,如何将与现有 1003 用户关联的 SID 更改为 1000,以便对 SID 1000 的引用正确解析为活动用户帐户?

任何建议,将不胜感激。

4

2 回答 2

0

直到 2004 年,Microsoft 才提供了一个工具 subinacl.exe。现在很难找到(请参阅https://answers.microsoft.com/en-us/windows/forum/all/i-wanted-to -下载-subinacl-but-i-cant-find-it/a8bf4c50-1d43-4f03-b6f9-f62deab010fb)。使用此工具,您可以从文件夹和子文件夹中删除所有无效的 SID。

subinacl /subdirectories "C:\folder\*.*" /cleandeletedsidsfrom=<domain>

这对我很有帮助,但输出似乎已损坏。所以我通过 >logfile.txt 绕过了输出到一个文件

于 2021-12-02T11:08:06.043 回答
0

我刚发布我的问题,就找到了答案:

Right-click a File Explorer shortcut pinned to my TaskBar
Select Run as Administrator
Browse to the desired Folder, right-click and select Properties
Select the Security Tab
Remove the undesired User

不知道为什么我之前没想过使用提升的文件资源管理器。但它成功更新了 ACL,现在对虚假 SID 的引用已经消失。:-)

于 2021-03-14T15:56:00.370 回答