簡體   English   中英

從Windows文件夾中刪除權限

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM