单个命令可重置ACL并设置所有者

时间:2013-04-21 16:19:37

标签: windows-server-2008 acl file-permissions ntfs

我正在尝试重置Windows NTFS共享上的所有文件权限和ACL。以下命令应该这样做

icacls "D:\mydata" /T /Q /C /RESET

但我的某些子文件夹出现Access is denied错误。

所以我继续前进,认为我需要先设置管理员权限:

icacls "D:\mydata" /grant administrator:F /T /C

然而我仍然得到Access is denied

所以这是我的问题: 我如何删除all ACLS,all权限,all所有者,以便我可以从头开始分配权限和ACLS。我想运行一个命令来递归重置事物,这样我的管理员帐户就可以再次申请权限了。

2 个答案:

答案 0 :(得分:1)

您需要拥有该对象的所有权。 从命令行获取 如果您有专业或类似版本的Windows - 转到属性,安全性,高级,所有者,更改所有者(我希望我没有搞砸了)并且只需几次点击就可以获得该对象。现在,您可以为自己添加权限。

棘手的部分:如果一个对象拥有某个对象(例如TrustedInstaller或FancyVirus)并且您无法访问该对象,但您希望保留其当前所有者...在这种情况下 - 尝试使用unix能够找到任何答案(除非二进制访问NTFS)。

祝你好运

答案 1 :(得分:-1)

Add-PSSnapin Quest.ActiveRoles.ADManagement
$Folders = "\\server\share\"
$Folder = Get-ChildItem $Folders
FOREACH ($User in $Folder) {
    TAKEOWN /F $Folders$User /R /D Y
    $Username = Get-QADuser $User
    $Username = $Username.SamAccountName
    $FullPath = "$Folders" + "$Username"
    ICACLS ("$FullPath") /grant '"Domain Admins":(OI)(CI)F' /T
    ICACLS ("$FullPath") /grant ("$Username" + ':(OI)(CI)F') /T
}

http://tomandersonpro.net/ntfs-permissions-with-powershell/