0
如果帳戶大於7天,我正在編寫一個腳本,該腳本將刪除特定用戶。
但是,當用戶被刪除時,我的文件服務器上的NTFS權限仍然存在。
如何使用PowerShell刪除特定用戶的所有權限?在所有子目錄中刪除用戶的NTFS權限
如果帳戶大於7天,我正在編寫一個腳本,該腳本將刪除特定用戶。
但是,當用戶被刪除時,我的文件服務器上的NTFS權限仍然存在。
如何使用PowerShell刪除特定用戶的所有權限?在所有子目錄中刪除用戶的NTFS權限
您應該從不授予個人用戶權限(主目錄和用戶配置文件除外)。正如你自己看到的那樣清理起來很麻煩。 始終創建代表需要訪問的特定功能/角色的組,併爲這些組授予權限。
您可以通過icacls
清理權限:
icacls C:\root\folder /remove DOMAIN\user /t /c
但是請注意,你必須這樣做之前刪除帳戶,因爲某些原因icacls
無法清理刪除帳戶的SID 。
如果您已經刪除了帳戶,您可以嘗試使用Get-Acl
和Set-Acl
修復權限:
Get-ChildItem C:\root\folder -Recurse -Force | ForEach-Object {
$acl = Get-Acl -LiteralPath $_.FullName
$ace = $acl.Access | Where-Object { $_.IdentityReference -like 'S-1-5-*' }
$acl.RemoveAccessRule($ace) | Out-Null
Set-Acl -LiteralPath $_.FullName -AclObject $acl
}
請注意,您可能需要調整的條件選擇ACE從文件或文件夾的訪問控制列表中刪除。
另請注意,上述操作對於所有者不是運行代碼或其中一個組的用戶的文件/文件夾將失敗。在這種情況下,您可以使用如subinacl
或SetACL
這樣的工具作爲最後的手段,如在ServerFault上回答this question所述。
小心解釋爲什麼你downvote我的問題? –
我會懷疑是誰低估了你的問題,因爲它沒有顯示出任何努力來解決你自己的問題。 –
嗨,你的問題中沒有代碼,你有什麼嘗試? – sodawillow