[英]Remove permissions from a windows folder
我在遠程服務器上有一個widows文件夾,我希望從該文件夾中刪除特定用戶的權限。 我嘗試了許多方法,但似乎沒有任何效果。
以下代碼沒有任何錯誤,但權限保持不變。 我不是在使用正確的對象,還是在這些對象上缺少某些步驟? 任何幫助將不勝感激。
dirName作為共享傳遞,例如\\ myserver \\ myfolder
private void removePermissions(string dirName, string username)
{
string user = System.Environment.UserDomainName + "\\" + username;
DirectoryInfo dirinfo = new DirectoryInfo(dirName);
DirectorySecurity dsec = dirinfo.GetAccessControl(AccessControlSections.All);
AuthorizationRuleCollection rules = dsec.GetAccessRules(true, true, typeof(System.Security.Principal.NTAccount));
foreach (AccessRule rule in rules)
{
if (rule.IdentityReference.Value == user)
{
bool value;
dsec.PurgeAccessRules(rule.IdentityReference);
dsec.ModifyAccessRule(AccessControlModification.RemoveAll, rule, out value);
MessageBox.Show("Removed permission from " + dirName + " for " + user);
}
}
}
一旦創建了新的ACL,您需要將其應用於文件夾。
加
dirinfo.SetAccessControl(dsec);
循環后。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.