为什么我有有效的读取权限时得到 "Access denied"?

Why am I getting "Access denied" when I have effective read permission?

我无法读取特定文件,即使据我所知我拥有读取权限。这是 "Effective Access" 显示的内容:

这是 Get-Acl 给我的。

PS ...> Get-Acl .\HelloWorld.java | Format-List


Path   : Microsoft.PowerShell.Core\FileSystem::I:\...\HelloWorld.java
Owner  : ...\Admin
Group  : G:S-1-5-21-4281937098-1570975092-1098596674-513
Access : ...\Admin Allow  FullControl
Audit  :
Sddl   : O:S-1-5-21-3073128669-2165567304-4059943147-1001G:S-1-5-21-4281937098-1570975092-1098596674-513D:PAI(A;;FA;;;S-1-5-21-3073128669-2165567304-4059943147-1001)

当我尝试在记事本中打开它,甚至只是从命令行复制它时,出现错误:

I:\...>copy HelloWorld.java C:\HelloWorld.java
Access is denied.
        0 file(s) copied.

I:\...>more HelloWorld.java
Cannot access file I:\...\HelloWorld.java

我以 Admin 身份登录,cmd.exe shell 也被提升(右击并执行 "Run as administrator")。

请注意,它最初不是 SDDL_PROTECTED,但我添加了它(通过 Windows GUI)以试图确保没有继承的东西会混淆访问。然后我添加了一个 ACE 来让管理员完全控制。该驱动器以前是Win7机器的系统盘,但我正在尝试在Win10机器上读取它。

当保护正常时,可能会出现另外 2 个问题

  1. 路径太长:有些应用程序不喜欢它(但您得到的是文件未找到而不是访问被拒绝):解决方法:使用 subst 在较低级别安装驱动器并从此处访问
  2. 文件已被另一个 program/service 以写入模式打开。
  3. 文件使用 windows 内置加密进行加密。在那种情况下,它在原始计算机上工作正常,但是当您将磁盘安装到其他地方时,即使权限正常,您也会得到 "access denied"

可能是:因为你换了电脑所以是选项 3。