如何设置desktop.ini ACL以允许我删除它?

时间:2014-07-23 14:35:43

标签: powershell

我试图从AD中删除一些用户并取出他们的主目录。但是,我们有一个脚本会拒绝管理员对其desktop.ini的权限,因为这会阻止他们在资源管理器中解析其文件夹名称。但是,当我想要吹灭他们的整个主目录时,desktop.ini仍然存在的事实意味着父文件夹也不能被删除。我认为下面的脚本会给我权利,但它没有。我想念的是什么人?

        If (Test-Path  $homeDir) { 
            $user = $_.uname 
            Set-ItemProperty -Path "\\server\students\home\$user" -Name Attributes -Value "Normal"
            $acl = Get-Acl "\\server\students\home\$user"
            $acl.access | where-object {$_.AccessControlType -eq "Deny"} | Foreach-object { $acl.RemoveAccessRule($_) }
            (Get-Item "\\server\students\home\$user").SetAccessControl($acl)
            Get-ChildItem -Path "\\server\students\home\$user\*" -Recurse | Remove-Item -Force -Recurse
            Remove-Item "\\server\students\home\$user" -Recurse
            Write-host "$user's home directory deleted successfully"
            }

1 个答案:

答案 0 :(得分:0)

它是PowerShell的外部(虽然在PS中运行很好但是我建议使用icalcs,因为它使这更简单...

icacls "\\server\students\home\$user" /grant administrators:F /t