gpt4 book ai didi

c# - 从 Windows 文件夹中删除权限

转载 作者:可可西里 更新时间:2023-11-01 14:06:12 26 4
gpt4 key购买 nike

我在远程服务器上有一个 widows 文件夹,我希望从中删除特定用户的权限。我尝试了很多方法,但似乎没有任何效果。

我在使用以下代码时没有发现任何错误,但权限保持不变。我没有使用正确的对象或缺少这些对象的某些步骤吗?任何帮助将不胜感激。

dirName 作为共享传递,例如\我的服务器\我的文件夹

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);

在循环之后。

关于c# - 从 Windows 文件夹中删除权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12261749/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com