Share via


FileSystemAuditRule 构造函数

定义

初始化 FileSystemAuditRule 类的新实例。

重载

FileSystemAuditRule(IdentityReference, FileSystemRights, AuditFlags)

使用以下内容初始化 FileSystemAuditRule 类的新实例:对用户帐户的引用、指定与审核规则关联的操作的类型的值,以及指定何时执行审核的值。

FileSystemAuditRule(String, FileSystemRights, AuditFlags)

使用以下内容初始化 FileSystemAuditRule 类的新实例:用户帐户名称、指定与审核规则关联的操作的类型的值,以及指定何时执行审核的值。

FileSystemAuditRule(IdentityReference, FileSystemRights, InheritanceFlags, PropagationFlags, AuditFlags)

使用以下内容初始化 FileSystemAuditRule 类的新实例:对用户帐户的引用的名称、指定与审核规则关联的操作的类型的值、确定如何继承权限的值、确定如何传播权限的值,以及指定何时执行审核的值。

FileSystemAuditRule(String, FileSystemRights, InheritanceFlags, PropagationFlags, AuditFlags)

使用以下内容初始化 FileSystemAuditRule 类的新实例:用户帐户的名称、指定与审核规则关联的操作的类型的值、确定如何继承权限的值、确定如何传播权限的值,以及指定何时执行审核的值。

FileSystemAuditRule(IdentityReference, FileSystemRights, AuditFlags)

使用以下内容初始化 FileSystemAuditRule 类的新实例:对用户帐户的引用、指定与审核规则关联的操作的类型的值,以及指定何时执行审核的值。

public:
 FileSystemAuditRule(System::Security::Principal::IdentityReference ^ identity, System::Security::AccessControl::FileSystemRights fileSystemRights, System::Security::AccessControl::AuditFlags flags);
public FileSystemAuditRule (System.Security.Principal.IdentityReference identity, System.Security.AccessControl.FileSystemRights fileSystemRights, System.Security.AccessControl.AuditFlags flags);
new System.Security.AccessControl.FileSystemAuditRule : System.Security.Principal.IdentityReference * System.Security.AccessControl.FileSystemRights * System.Security.AccessControl.AuditFlags -> System.Security.AccessControl.FileSystemAuditRule
Public Sub New (identity As IdentityReference, fileSystemRights As FileSystemRights, flags As AuditFlags)

参数

identity
IdentityReference

封装对用户帐户的引用的 IdentityReference 对象。

fileSystemRights
FileSystemRights

FileSystemRights 值之一,该值指定与审核规则关联的操作的类型。

flags
AuditFlags

AuditFlags 值之一,该值指定何时执行审核。

例外

identity 参数不是一个 IdentityReference 对象。

identity 参数为 null

一个错误枚举被传递给 flags 参数。

- 或 -

None 值被传递给 flags 参数。

注解

使用此构造函数创建可以使用 或 DirectorySecurity 类保留FileSecurity的审核规则。 审核规则确定何时以及如何记录对系统对象(如文件和文件夹)执行的操作。

适用于

FileSystemAuditRule(String, FileSystemRights, AuditFlags)

使用以下内容初始化 FileSystemAuditRule 类的新实例:用户帐户名称、指定与审核规则关联的操作的类型的值,以及指定何时执行审核的值。

public:
 FileSystemAuditRule(System::String ^ identity, System::Security::AccessControl::FileSystemRights fileSystemRights, System::Security::AccessControl::AuditFlags flags);
public FileSystemAuditRule (string identity, System.Security.AccessControl.FileSystemRights fileSystemRights, System.Security.AccessControl.AuditFlags flags);
new System.Security.AccessControl.FileSystemAuditRule : string * System.Security.AccessControl.FileSystemRights * System.Security.AccessControl.AuditFlags -> System.Security.AccessControl.FileSystemAuditRule
Public Sub New (identity As String, fileSystemRights As FileSystemRights, flags As AuditFlags)

参数

identity
String

用户帐户的名称。

fileSystemRights
FileSystemRights

FileSystemRights 值之一,该值指定与审核规则关联的操作的类型。

flags
AuditFlags

AuditFlags 值之一,该值指定何时执行审核。

例外

一个错误枚举被传递给 flags 参数。

- 或 -

None 值被传递给 flags 参数。

示例

下面的代码示例使用 FileSystemAuditRule 类添加审核规则,然后从文件中删除审核规则。 你必须提供有效的用户或组帐户以运行此示例。

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

注解

使用此构造函数创建可以使用 或 DirectorySecurity 类保留FileSecurity的审核规则。 审核规则确定何时以及如何记录对系统对象(如文件和文件夹)执行的操作。

参数 identity 必须标识当前计算机或域上的有效帐户。 字符串采用以下形式,其中 DOMAIN 是有效域或计算机名称的名称,是 account 域或计算机上有效用户帐户的名称: DOMAIN\account

适用于

FileSystemAuditRule(IdentityReference, FileSystemRights, InheritanceFlags, PropagationFlags, AuditFlags)

使用以下内容初始化 FileSystemAuditRule 类的新实例:对用户帐户的引用的名称、指定与审核规则关联的操作的类型的值、确定如何继承权限的值、确定如何传播权限的值,以及指定何时执行审核的值。

public:
 FileSystemAuditRule(System::Security::Principal::IdentityReference ^ identity, System::Security::AccessControl::FileSystemRights fileSystemRights, System::Security::AccessControl::InheritanceFlags inheritanceFlags, System::Security::AccessControl::PropagationFlags propagationFlags, System::Security::AccessControl::AuditFlags flags);
public FileSystemAuditRule (System.Security.Principal.IdentityReference identity, System.Security.AccessControl.FileSystemRights fileSystemRights, System.Security.AccessControl.InheritanceFlags inheritanceFlags, System.Security.AccessControl.PropagationFlags propagationFlags, System.Security.AccessControl.AuditFlags flags);
new System.Security.AccessControl.FileSystemAuditRule : System.Security.Principal.IdentityReference * System.Security.AccessControl.FileSystemRights * System.Security.AccessControl.InheritanceFlags * System.Security.AccessControl.PropagationFlags * System.Security.AccessControl.AuditFlags -> System.Security.AccessControl.FileSystemAuditRule
Public Sub New (identity As IdentityReference, fileSystemRights As FileSystemRights, inheritanceFlags As InheritanceFlags, propagationFlags As PropagationFlags, flags As AuditFlags)

参数

identity
IdentityReference

封装对用户帐户的引用的 IdentityReference 对象。

fileSystemRights
FileSystemRights

FileSystemRights 值之一,该值指定与审核规则关联的操作的类型。

inheritanceFlags
InheritanceFlags

InheritanceFlags 值之一,该值指定访问掩码如何传播到子对象。

propagationFlags
PropagationFlags

PropagationFlags 值之一,该值指定访问控制项 (ACE) 如何传播到子对象。

flags
AuditFlags

AuditFlags 值之一,该值指定何时执行审核。

例外

identity 参数不是一个 IdentityReference 对象。

identity 参数为 null

一个错误枚举被传递给 flags 参数。

- 或 -

None 值被传递给 flags 参数。

注解

使用此构造函数创建可以使用 或 DirectorySecurity 类保留FileSecurity的审核规则。 审核规则确定何时以及如何记录对系统对象(如文件和文件夹)执行的操作。

适用于

FileSystemAuditRule(String, FileSystemRights, InheritanceFlags, PropagationFlags, AuditFlags)

使用以下内容初始化 FileSystemAuditRule 类的新实例:用户帐户的名称、指定与审核规则关联的操作的类型的值、确定如何继承权限的值、确定如何传播权限的值,以及指定何时执行审核的值。

public:
 FileSystemAuditRule(System::String ^ identity, System::Security::AccessControl::FileSystemRights fileSystemRights, System::Security::AccessControl::InheritanceFlags inheritanceFlags, System::Security::AccessControl::PropagationFlags propagationFlags, System::Security::AccessControl::AuditFlags flags);
public FileSystemAuditRule (string identity, System.Security.AccessControl.FileSystemRights fileSystemRights, System.Security.AccessControl.InheritanceFlags inheritanceFlags, System.Security.AccessControl.PropagationFlags propagationFlags, System.Security.AccessControl.AuditFlags flags);
new System.Security.AccessControl.FileSystemAuditRule : string * System.Security.AccessControl.FileSystemRights * System.Security.AccessControl.InheritanceFlags * System.Security.AccessControl.PropagationFlags * System.Security.AccessControl.AuditFlags -> System.Security.AccessControl.FileSystemAuditRule
Public Sub New (identity As String, fileSystemRights As FileSystemRights, inheritanceFlags As InheritanceFlags, propagationFlags As PropagationFlags, flags As AuditFlags)

参数

identity
String

用户帐户的名称。

fileSystemRights
FileSystemRights

FileSystemRights 值之一,该值指定与审核规则关联的操作的类型。

inheritanceFlags
InheritanceFlags

InheritanceFlags 值之一,该值指定访问掩码如何传播到子对象。

propagationFlags
PropagationFlags

PropagationFlags 值之一,该值指定访问控制项 (ACE) 如何传播到子对象。

flags
AuditFlags

AuditFlags 值之一,该值指定何时执行审核。

注解

使用此构造函数创建可以使用 或 DirectorySecurity 类保留FileSecurity的审核规则。 审核规则确定何时以及如何记录对系统对象(如文件和文件夹)执行的操作。

参数 identity 必须标识当前计算机或域上的有效帐户。 字符串采用以下形式,其中 DOMAIN 是有效域或计算机名称的名称,是 account 域或计算机上有效用户帐户的名称: DOMAIN\account

适用于