C# System.Security.AccessControl拒绝删除子目录和文件的权限无效

C# System.Security.AccessControl拒绝删除子目录和文件的权限无效,c#,security,powershell,acl,C#,Security,Powershell,Acl,我试图使用System.Security.AccessControl拒绝用户的指定权限。 我在拒绝删除子目录和文件或删除时遇到问题 我的代码似乎适用于FileSystemRights枚举的其他成员,只是这些成员没有任何效果。下面是我的代码示例: accessRule= new System.Security.AccessControl.FileSystemAccessRule("myUser",System.Security.AccessControl.FileSystemRights.Dele

我试图使用System.Security.AccessControl拒绝用户的指定权限。 我在拒绝删除子目录和文件或删除时遇到问题

我的代码似乎适用于FileSystemRights枚举的其他成员,只是这些成员没有任何效果。下面是我的代码示例:

accessRule= new System.Security.AccessControl.FileSystemAccessRule("myUser",System.Security.AccessControl.FileSystemRights.DeleteSubdirectoriesAndFiles,System.Security.AccessControl.InheritanceFlags.None,System.Security.AccessControl.PropagationFlags.None,System.Security.AccessControl.AccessControlType.Deny);

dSecurity= System.IO.Directory.GetAccessControl(startDir);
driveSecurity.AddAccessRule(accessRule);
System.IO.Directory.SetAccessControl(startDir,dSecurity);

如果我将FileSystemRights更改为其他内容(例如CreateDirectory),但DeleteSubdirectories和Files和Delete都不这样做,这将起作用。我对PowerShell脚本也有同样的问题。你能告诉我原因吗?非常感谢

可能是复制粘贴错误:
driveSecurity
不是
dSecurity
。谢谢您的回答。很抱歉复制粘贴错误,但我只是在这里做的。我的代码适用于其他所有代码。另外,我后来注意到DeleteSubdirectories和File也可以工作,这样我就可以看到应用的规则,只有您仍然可以删除子目录。假设是这样的:我是以具有完全控制权的用户身份登录的。使用此代码,我可以有效地拒绝其他权利。例如,如果我拒绝写入,他将无法写入,但使用此规则,尽管应用了删除子目录和文件的规则,但仍然可以删除子目录和文件。你有什么建议,为什么会这样以及如何克服这种情况吗?可能是复制粘贴错误:
driveSecurity
不是
dSecurity
。谢谢你的回答。很抱歉复制粘贴错误,但我只是在这里做的。我的代码适用于其他所有代码。另外,我后来注意到DeleteSubdirectories和File也可以工作,这样我就可以看到应用的规则,只有您仍然可以删除子目录。假设是这样的:我是以具有完全控制权的用户身份登录的。使用此代码,我可以有效地拒绝其他权利。例如,如果我拒绝写入,他将无法写入,但使用此规则,尽管应用了删除子目录和文件的规则,但仍然可以删除子目录和文件。你有什么建议,为什么会这样,以及如何克服?