FileSystemSecurity.RemoveAuditRule(FileSystemAuditRule) 方法     
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
从当前文件或目录移除所有匹配的允许或拒绝审核规则。
public:
 bool RemoveAuditRule(System::Security::AccessControl::FileSystemAuditRule ^ rule);
	public bool RemoveAuditRule(System.Security.AccessControl.FileSystemAuditRule rule);
	override this.RemoveAuditRule : System.Security.AccessControl.FileSystemAuditRule -> bool
	Public Function RemoveAuditRule (rule As FileSystemAuditRule) As Boolean
	参数
- rule
 - FileSystemAuditRule
 
一个 FileSystemAuditRule 对象,表示要从文件或目录移除的审核规则。
返回
              true 如果删除了审核规则,则为 ;否则为 false。
例外
              rule 参数为 null。
示例
下面的代码示例使用 AddAuditRule 方法将审核规则添加到文件,并使用 RemoveAuditRule 方法从文件中删除审核规则。 你必须提供有效的用户或组帐户以运行此示例。
using System;
using System.IO;
using System.Security.AccessControl;
namespace FileSystemExample
{
    class FileExample
    {
        public static void Main()
        {
            try
            {
                string FileName = "test.xml";
                Console.WriteLine("Adding access control entry for " + FileName);
                // Add the access control entry to the file.
                AddFileAuditRule(FileName, @"MYDOMAIN\MyAccount", FileSystemRights.ReadData, AuditFlags.Failure);
                Console.WriteLine("Removing access control entry from " + FileName);
                // Remove the access control entry from the file.
                RemoveFileAuditRule(FileName, @"MYDOMAIN\MyAccount", FileSystemRights.ReadData, AuditFlags.Failure);
                Console.WriteLine("Done.");
            }
            catch (IOException e)
            {
                Console.WriteLine("Unable to open the file: " + e.Message);
            }
            catch (PrivilegeNotHeldException e)
            {
                Console.WriteLine("The current account does not have the correct privileges: " + e.Message);
            }
            Console.ReadLine();
        }
        // Adds an ACL entry on the specified file for the specified account.
        public static void AddFileAuditRule(string FileName, string Account, FileSystemRights Rights, AuditFlags AuditRule)
        {
            // Get a FileSecurity object that represents the
            // current security settings.
            FileSecurity fSecurity = File.GetAccessControl(FileName);
            // Add the FileSystemAuditRule to the security settings.
            fSecurity.AddAuditRule(new FileSystemAuditRule(Account,
                                                            Rights,
                                                            AuditRule));
            // Set the new access settings.
            File.SetAccessControl(FileName, fSecurity);
        }
        // Removes an ACL entry on the specified file for the specified account.
        public static void RemoveFileAuditRule(string FileName, string Account, FileSystemRights Rights, AuditFlags AuditRule)
        {
            // Get a FileSecurity object that represents the
            // current security settings.
            FileSecurity fSecurity = File.GetAccessControl(FileName);
            // Add the FileSystemAuditRule to the security settings.
            fSecurity.RemoveAuditRule(new FileSystemAuditRule(Account,
                                                            Rights,
                                                            AuditRule));
            // Set the new access settings.
            File.SetAccessControl(FileName, fSecurity);
        }
    }
}
Imports System.IO
Imports System.Security.AccessControl
Module FileExample
    Sub Main()
        Try
            Dim FileName As String = "test.xml"
            Console.WriteLine("Adding access control entry for " + FileName)
            ' Add the access control entry to the file.
            AddFileAuditRule(FileName, "MYDOMAIN\MyAccount", FileSystemRights.ReadData, AuditFlags.Failure)
            Console.WriteLine("Removing access control entry from " + FileName)
            ' Remove the access control entry from the file.
            RemoveFileAuditRule(FileName, "MYDOMAIN\MyAccount", FileSystemRights.ReadData, AuditFlags.Failure)
            Console.WriteLine("Done.")
        Catch e As IOException
            Console.WriteLine("Unable to open the file: " & e.Message)
        Catch e As PrivilegeNotHeldException
            Console.WriteLine("The current account does not have the correct privileges: " & e.Message)
        End Try
        Console.ReadLine()
    End Sub
    ' Adds an ACL entry on the specified file for the specified account.
    Sub AddFileAuditRule(ByVal FileName As String, ByVal Account As String, ByVal Rights As FileSystemRights, ByVal AuditRule As AuditFlags)
        ' Get a FileSecurity object that represents the 
        ' current security settings.
        Dim fSecurity As FileSecurity = File.GetAccessControl(FileName)
        ' Add the FileSystemAuditRule to the security settings. 
        fSecurity.AddAuditRule(New FileSystemAuditRule(Account, Rights, AuditRule))
        ' Set the new access settings.
        File.SetAccessControl(FileName, fSecurity)
    End Sub
    ' Removes an ACL entry on the specified file for the specified account.
    Sub RemoveFileAuditRule(ByVal FileName As String, ByVal Account As String, ByVal Rights As FileSystemRights, ByVal AuditRule As AuditFlags)
        ' Get a FileSecurity object that represents the 
        ' current security settings.
        Dim fSecurity As FileSecurity = File.GetAccessControl(FileName)
        ' Add the FileSystemAuditRule to the security settings. 
        fSecurity.RemoveAuditRule(New FileSystemAuditRule(Account, Rights, AuditRule))
        ' Set the new access settings.
        File.SetAccessControl(FileName, fSecurity)
    End Sub
End Module
	注解
方法RemoveAuditRule从当前FileSystemSecurity对象中删除所有匹配Deny的审核规则或所有匹配Allow的审核规则。 例如,可以使用此方法通过传递FileSystemAuditRule使用 Deny 值、Failure值和用户帐户创建的对象来删除用户的所有Deny审核规则。 执行此操作时, RemoveAuditRule 方法会删除指定 Failure 值或 Success 值的任何拒绝规则。