当Get-Acl返回"拒绝访问"时,如何使用Powershell更改文件夹的所有者?

ajh*_*jh4 6 powershell acl

我在Powershell中有一个关于Get-Acl的问题.我不断收到错误消息"拒绝访问路径".我想将文件夹的所有者更改为自己,然后使用Powershell为该文件夹授予自己的完全权限.这是给我错误的代码行:

$acl = Get-Acl "C:\SomeFolder"
Run Code Online (Sandbox Code Playgroud)

我在运行脚本之前使用Windows资源管理器设置"SomeFolder"的权限.它们如下:

  • 访问控制列表中没有条目
  • 老板不是我自己

如果在运行Powershell脚本之前使用Windows资源管理器GUI让自己成为所有者,则不会收到错误消息.我不明白为什么我被允许用Windows资源管理器更改所有者但不使用Powershell?我拥有这台机器的完全管理员权限.Windows 7,Powershell 2.0,.NET 3.5.

我假设更改所有者的唯一方法是使用Get-Acl,在ACL上设置所有者,然后使用Set-Acl将其写回文件夹.如果有其他方式,请告诉我?如何使用Powershell更改文件夹的所有者?

jon*_*n Z 8

Windows Vista及更高版本包含一个名为takeown.exe的命令行工具,可以从提升的命令提示符(或提升的PowerShell控制台)使用它来更改文件系统对象的所有权.

takeown /F "C:\SomeFolder" /R /D Y
Run Code Online (Sandbox Code Playgroud)

应该给你C:\ SomeFolder及其包含的文件系统对象的所有权.