为什么 PowerShell 对目录上的 Get-Content 给出“访问被拒绝”?

为什么 PowerShell 对目录上的 Get-Content 给出“访问被拒绝”?

偶然间,我最近尝试Get-Content在一个目录上运行。我最初以为这是一个文件,因为它的名称与我预期位于该位置的常见文件非常相似。因此,当我在一个我应该完全控制的位置收到“访问被拒绝”错误时,我更加困惑了。

当然,我最终意识到了自己的错误。一旦我实际指向Get-Content同一区域或该路径的子文件夹中的某些文件,它就可以正常工作。但这个错误仍然让我感到奇怪。至少,我认为显示一个错误会更加用户友好和明智,它实际上说(尽管更礼貌)“这不是您要查看的文件,天才!”。

为什么在这种情况下“拒绝访问”是有意义的?

答案1

原因在于,PowerShell、记事本等进程试图将目录像文件一样打开。

因为无法读取文件的“文件权限”(我知道可以设置 NTFS 权限并且看起来相同,但在本质上它们不是) - 它会生成“访问被拒绝”消息,该消息会传递给您尝试使用的任何程序。

相关内容