Lou*_*eru 15 windows permissions acl windows-10
我必须拥有特殊文件夹的所有权C:\Program Files\WindowsApps才能解决图标问题。问题现已解决,因此我想将权限重置为获得文件夹所有权之前的状态。
我恢复NT SERVICE\TrustedInstaller了所有者并删除了我帐户的权限条目:
但是我仍然可以完全控制该文件夹,并且可以在资源管理器中浏览该文件夹,而不会收到通常的警告,即我必须拥有所有权:
是否可以恢复此文件夹的默认权限?
小智 15
重置权限在大多数情况下都有效,但您需要 SYSTEM 权限才能运行该命令。
最简单的解决方案是使用PsExec(来自 sysinternals)。
打开提升的命令提示符或 powershell 并运行 psexec 以获取 SYSTEM-shell。
psexec.exe -s -i cmd
在该命令提示符下运行重置权限命令
icacls "C:\Program Files\WindowsApps" /reset /t /c /q
Kat*_*Lee 10
像这样重置此文件夹的权限:
icacls "C:\Program Files\*" /q /c /t /reset
Run Code Online (Sandbox Code Playgroud)
事情是:
/reset - Replaces ACLs with default inherited ACLs for all matching files.
/t - Performs the operation on all specified files in the current
directory and its subdirectories.
Run Code Online (Sandbox Code Playgroud)
小智 9
我在搜索谷歌时找到了这个答案,它让我找到了一个解决方案。
问题:Windows 应用程序(例如邮件和日历)将无法打开。开始菜单不会打开。无法右键单击任务栏图标。
修复:运行 Kattee从 Windows 安装 USB 启动盘发布的重置 ACL 命令,使用内置命令提示符进行故障排除。
这就是让我重新工作的原因。重启后一切正常。甚至不需要重新安装应用程序。一切都“正常工作”。
我在这个问题上挣扎了很多。
首先不要使用
icacls "C:\Program Files\WindowsApps" /reset /t /c /q。它将从文件夹中删除特殊的条件权限,并为其提供 Windows 默认和继承的 ACL,这不应该对 WindowsApps 执行。
这是我发现对我有用的答案(Win10和Win11 21H2)并且没有造成任何麻烦(至少是我知道的麻烦)
首先打开具有管理权限的命令提示符
通过运行下一个命令确保您拥有 WindowsApps 文件夹的所有权
takeown /f "%ProgramFiles%\WindowsApps"
Run Code Online (Sandbox Code Playgroud)
cacls "%programfiles%\WindowsApps" /s:"D:PAI(A;;FA;;;S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464)(A;OICIIO;GA;;;S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464)(A;;0x1200a9;;;S-1-15-3-1024-3635283841-2530182609-996808640-1887759898-3848208603-3313616867-983405619-2501854204)(A;OICIIO;GXGR;;;S-1-15-3-1024-3635283841-2530182609-996808640-1887759898-3848208603-3313616867-983405619-2501854204)(A;;FA;;;SY)(A;OICIIO;GA;;;SY)(A;CI;0x1200a9;;;BA)(A;OICI;0x1200a9;;;LS)(A;OICI;0x1200a9;;;NS)(A;OICI;0x1200a9;;;RC)(XA;;0x1200a9;;;BU;(Exists WIN://SYSAPPID))"
Run Code Online (Sandbox Code Playgroud)
或者如果cacls无法访问,请使用icacls. 为此,创建temp.txt包含下一个内容的文件并将其保存到某个位置,例如c:\
windowsapps
D:PAI(A;;FA;;;S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464)(A;OICIIO;GA;;;S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464)(A;;0x1200a9;;;S-1-15-3-1024-3635283841-2530182609-996808640-1887759898-3848208603-3313616867-983405619-2501854204)(A;OICIIO;GXGR;;;S-1-15-3-1024-3635283841-2530182609-996808640-1887759898-3848208603-3313616867-983405619-2501854204)(A;;FA;;;SY)(A;OICIIO;GA;;;SY)(A;CI;0x1200a9;;;BA)(A;OICI;0x1200a9;;;LS)(A;OICI;0x1200a9;;;NS)(A;OICI;0x1200a9;;;RC)(XA;;0x1200a9;;;BU;(Exists WIN://SYSAPPID))
Run Code Online (Sandbox Code Playgroud)
然后运行
icacls "%programfiles%" /restore c:\temp.txt
Run Code Online (Sandbox Code Playgroud)
icacls "%programfiles%\WindowsApps" /setowner "nt service\trustedinstaller"
Run Code Online (Sandbox Code Playgroud)
如果它在 cmd 中不起作用 - 右键单击资源管理器中的 WindowsApps 文件夹,打开属性并转到安全选项卡,单击高级,然后单击所有者的更改按钮。输入NT Service\TrustedInstaller(NT 和服务之间有空格且不带引号)并单击“检查名称”按钮。单击“确定”并最终应用更改。
执行此操作后,WindowsApps 文件夹上的权限应恢复为默认值,并且所有 UWP 应用程序应正常工作(例如 wt.exe)
PS WindowsApps 的默认 ACL 是
NT SERVICE\TrustedInstaller:(F)
NT SERVICE\TrustedInstaller:(OI)(CI)(IO)(F)
S-1-15-3-1024-3635283841-2530182609-996808640-1887759898-3848208603-3313616867-983405619-2501854204:(RX)
S-1-15-3-1024-3635283841-2530182609-996808640-1887759898-3848208603-3313616867-983405619-2501854204:(OI)(CI)(IO)(GR,GE)
NT AUTHORITY\SYSTEM:(F)
NT AUTHORITY\SYSTEM:(OI)(CI)(IO)(F)
BUILTIN\Administrators:(CI)(RX)
NT AUTHORITY\LOCAL SERVICE:(OI)(CI)(RX)
NT AUTHORITY\NETWORK SERVICE:(OI)(CI)(RX)
NT AUTHORITY\RESTRICTED:(OI)(CI)(RX)
BUILTIN\Users:(Rc,S,RD,REA,X,RA)
Run Code Online (Sandbox Code Playgroud)
上面的命令就是这样设置的。
我从 winhelponline 博客中获取了最有用的信息,所以要归功于它。我选择写一个大的答案,而不是仅仅给出一个链接,因为我认为最好在许多地方而不是仅仅在一个博客上保留有用的信息。
小智 5
我不必使用前面提到的恢复磁盘选项。我只需要在管理员模式下从命令提示符运行它:
icacls "C:\Program Files\WindowsApps" /reset /t /c /q
Run Code Online (Sandbox Code Playgroud)
参数说明:
参考:icacls 命令参考
我可能也重新启动了计算机,但我认为这不是必需的。
| 归档时间: |
|
| 查看次数: |
45333 次 |
| 最近记录: |