FileSystemAccessRule コンストラクター

定義

FileSystemAccessRule クラスの新しいインスタンスを初期化します。Initializes a new instance of the FileSystemAccessRule class.

オーバーロード

FileSystemAccessRule(IdentityReference, FileSystemRights, AccessControlType)

ユーザー アカウントへの参照、アクセス規則に関連付けられた操作の種類を指定する値、およびその操作を許可するか拒否するかを指定する値を使用して、FileSystemAccessRule クラスの新しいインスタンスを初期化します。Initializes a new instance of the FileSystemAccessRule class using a reference to a user account, a value that specifies the type of operation associated with the access rule, and a value that specifies whether to allow or deny the operation.

FileSystemAccessRule(String, FileSystemRights, AccessControlType)

ユーザー アカウントの名前、アクセス規則に関連付けられた操作の種類を指定する値、およびその操作を許可するか拒否するかを示す値を使用して、FileSystemAccessRule クラスの新しいインスタンスを初期化します。Initializes a new instance of the FileSystemAccessRule class using the name of a user account, a value that specifies the type of operation associated with the access rule, and a value that describes whether to allow or deny the operation.

FileSystemAccessRule(IdentityReference, FileSystemRights, InheritanceFlags, PropagationFlags, AccessControlType)

ユーザー アカウントへの参照、アクセス規則に関連付けられた操作の種類を指定する値、権限の継承方法を決定する値、権限の反映方法を決定する値、および操作を許可するか拒否するかを指定する値を使用して、FileSystemAccessRule クラスの新しいインスタンスを初期化します。Initializes a new instance of the FileSystemAccessRule class using a reference to a user account, a value that specifies the type of operation associated with the access rule, a value that determines how rights are inherited, a value that determines how rights are propagated, and a value that specifies whether to allow or deny the operation.

FileSystemAccessRule(String, FileSystemRights, InheritanceFlags, PropagationFlags, AccessControlType)

ユーザー アカウント名、アクセス規則に関連付けられた操作の種類を指定する値、権限の継承方法を決定する値、権限の反映方法を決定する値、および操作を許可するか拒否するかを指定する値を使用して、FileSystemAccessRule クラスの新しいインスタンスを初期化します。Initializes a new instance of the FileSystemAccessRule class using the name of a user account, a value that specifies the type of operation associated with the access rule, a value that determines how rights are inherited, a value that determines how rights are propagated, and a value that specifies whether to allow or deny the operation.

FileSystemAccessRule(IdentityReference, FileSystemRights, AccessControlType)

ユーザー アカウントへの参照、アクセス規則に関連付けられた操作の種類を指定する値、およびその操作を許可するか拒否するかを指定する値を使用して、FileSystemAccessRule クラスの新しいインスタンスを初期化します。Initializes a new instance of the FileSystemAccessRule class using a reference to a user account, a value that specifies the type of operation associated with the access rule, and a value that specifies whether to allow or deny the operation.

public:
 FileSystemAccessRule(System::Security::Principal::IdentityReference ^ identity, System::Security::AccessControl::FileSystemRights fileSystemRights, System::Security::AccessControl::AccessControlType type);
public FileSystemAccessRule (System.Security.Principal.IdentityReference identity, System.Security.AccessControl.FileSystemRights fileSystemRights, System.Security.AccessControl.AccessControlType type);
new System.Security.AccessControl.FileSystemAccessRule : System.Security.Principal.IdentityReference * System.Security.AccessControl.FileSystemRights * System.Security.AccessControl.AccessControlType -> System.Security.AccessControl.FileSystemAccessRule

パラメーター

identity
IdentityReference

ユーザー アカウントへの参照をカプセル化する IdentityReference オブジェクト。An IdentityReference object that encapsulates a reference to a user account.

fileSystemRights
FileSystemRights

アクセス規則に関連付けられた操作の種類を指定する FileSystemRights 値のいずれか。One of the FileSystemRights values that specifies the type of operation associated with the access rule.

type
AccessControlType

操作を許可するか拒否するかを指定する AccessControlType 値のいずれか。One of the AccessControlType values that specifies whether to allow or deny the operation.

例外

identity パラメーターが IdentityReference オブジェクトではありません。The identity parameter is not an IdentityReference object.

identity パラメーターが null です。The identity parameter is null.

type パラメーターに誤った列挙体が渡されました。An incorrect enumeration was passed to the type parameter.

注釈

FileSecurityまたはクラスを使用して永続化できるアクセス制御規則を作成するDirectorySecurityには、このコンストラクターを使用します。Use this constructor to create an access control rule that you can persist using the FileSecurity or DirectorySecurity class. アクセス制御規則は、Microsoft Windows を実行しているコンピューターで許可または禁止する操作を決定するユーザーアカウントの権限を定義します。Access control rules define user account rights that determine which actions are allowed or disallowed on computers running Microsoft Windows.

FileSystemAccessRule(String, FileSystemRights, AccessControlType)

ユーザー アカウントの名前、アクセス規則に関連付けられた操作の種類を指定する値、およびその操作を許可するか拒否するかを示す値を使用して、FileSystemAccessRule クラスの新しいインスタンスを初期化します。Initializes a new instance of the FileSystemAccessRule class using the name of a user account, a value that specifies the type of operation associated with the access rule, and a value that describes whether to allow or deny the operation.

public:
 FileSystemAccessRule(System::String ^ identity, System::Security::AccessControl::FileSystemRights fileSystemRights, System::Security::AccessControl::AccessControlType type);
public FileSystemAccessRule (string identity, System.Security.AccessControl.FileSystemRights fileSystemRights, System.Security.AccessControl.AccessControlType type);
new System.Security.AccessControl.FileSystemAccessRule : string * System.Security.AccessControl.FileSystemRights * System.Security.AccessControl.AccessControlType -> System.Security.AccessControl.FileSystemAccessRule

パラメーター

identity
String

ユーザー アカウント名。The name of a user account.

fileSystemRights
FileSystemRights

アクセス規則に関連付けられた操作の種類を指定する FileSystemRights 値のいずれか。One of the FileSystemRights values that specifies the type of operation associated with the access rule.

type
AccessControlType

操作を許可するか拒否するかを指定する AccessControlType 値のいずれか。One of the AccessControlType values that specifies whether to allow or deny the operation.

例外

identity パラメーターが null です。The identity parameter is null.

type パラメーターに誤った列挙体が渡されました。An incorrect enumeration was passed to the type parameter.

FileSecurityクラスを使用して、ファイルからアクセス制御エントリ (ACE: access control entry) を追加してから削除するコード例を次に示します。The following code example uses the FileSecurity class to add and then remove an access control entry (ACE) from a file. この例を実行するには、有効なユーザーまたはグループ アカウントを指定する必要があります。You must supply a valid user or group account to run this example.

using namespace System;
using namespace System::IO;
using namespace System::Security::AccessControl;

// Adds an ACL entry on the specified file for the specified account.

void AddFileSecurity(String^ fileName, String^ account, 
                        FileSystemRights rights, AccessControlType controlType)
{
    // Get a FileSecurity object that represents the 
    // current security settings.
    FileSecurity^ fSecurity = File::GetAccessControl(fileName);

    // Add the FileSystemAccessRule to the security settings. 
    fSecurity->AddAccessRule(gcnew FileSystemAccessRule
                                   (account,rights, controlType));

    // Set the new access settings.
    File::SetAccessControl(fileName, fSecurity);
}

// Removes an ACL entry on the specified file for the specified account.

void RemoveFileSecurity(String^ fileName, String^ account, 
                        FileSystemRights rights, AccessControlType controlType)
{

    // Get a FileSecurity object that represents the 
    // current security settings.
    FileSecurity^ fSecurity = File::GetAccessControl(fileName);

    // Remove the FileSystemAccessRule from the security settings. 
    fSecurity->RemoveAccessRule(gcnew FileSystemAccessRule
                                      (account,rights, controlType));

    // Set the new access settings.
    File::SetAccessControl(fileName, fSecurity);
}

int main()
{
    try
    {
        String^ fileName = "test.xml";

        Console::WriteLine("Adding access control entry for " + fileName);

        // Add the access control entry to the file.
        AddFileSecurity(fileName, "MYDOMAIN\\MyAccount", 
            FileSystemRights::ReadData, AccessControlType::Allow);

        Console::WriteLine("Removing access control entry from " + fileName);

        // Remove the access control entry from the file.
        RemoveFileSecurity(fileName, "MYDOMAIN\\MyAccount", 
            FileSystemRights::ReadData, AccessControlType::Allow);

        Console::WriteLine("Done.");
    }
    catch (Exception^ ex)
    {
        Console::WriteLine(ex->Message);
    }
}

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.
                AddFileSecurity(fileName, @"DomainName\AccountName",
                    FileSystemRights.ReadData, AccessControlType.Allow);

                Console.WriteLine("Removing access control entry from "
                    + fileName);

                // Remove the access control entry from the file.
                RemoveFileSecurity(fileName, @"DomainName\AccountName",
                    FileSystemRights.ReadData, AccessControlType.Allow);

                Console.WriteLine("Done.");
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }

        // Adds an ACL entry on the specified file for the specified account.
        public static void AddFileSecurity(string fileName, string account,
            FileSystemRights rights, AccessControlType controlType)
        {


            // Get a FileSecurity object that represents the
            // current security settings.
            FileSecurity fSecurity = File.GetAccessControl(fileName);

            // Add the FileSystemAccessRule to the security settings.
            fSecurity.AddAccessRule(new FileSystemAccessRule(account,
                rights, controlType));

            // Set the new access settings.
            File.SetAccessControl(fileName, fSecurity);

        }

        // Removes an ACL entry on the specified file for the specified account.
        public static void RemoveFileSecurity(string fileName, string account,
            FileSystemRights rights, AccessControlType controlType)
        {

            // Get a FileSecurity object that represents the
            // current security settings.
            FileSecurity fSecurity = File.GetAccessControl(fileName);

            // Remove the FileSystemAccessRule from the security settings.
            fSecurity.RemoveAccessRule(new FileSystemAccessRule(account,
                rights, controlType));

            // 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.
            AddFileSecurity(fileName, "DomainName\AccountName", _
                FileSystemRights.ReadData, AccessControlType.Allow)

            Console.WriteLine("Removing access control entry from " & fileName)

            ' Remove the access control entry from the file.
            RemoveFileSecurity(fileName, "DomainName\AccountName", _
                FileSystemRights.ReadData, AccessControlType.Allow)

            Console.WriteLine("Done.")
        Catch e As Exception
            Console.WriteLine(e)
        End Try

    End Sub


    ' Adds an ACL entry on the specified file for the specified account.
    Sub AddFileSecurity(ByVal fileName As String, ByVal account As String, _
        ByVal rights As FileSystemRights, ByVal controlType As AccessControlType)
  
        ' Get a FileSecurity object that represents the 
        ' current security settings.
        Dim fSecurity As FileSecurity = File.GetAccessControl(fileName)

        ' Add the FileSystemAccessRule to the security settings. 
        Dim accessRule As FileSystemAccessRule = _
            New FileSystemAccessRule(account, rights, controlType)

        fSecurity.AddAccessRule(accessRule)

        ' Set the new access settings.
        File.SetAccessControl(fileName, fSecurity)

    End Sub


    ' Removes an ACL entry on the specified file for the specified account.
    Sub RemoveFileSecurity(ByVal fileName As String, ByVal account As String, _
        ByVal rights As FileSystemRights, ByVal controlType As AccessControlType)

        ' Get a FileSecurity object that represents the 
        ' current security settings.
        Dim fSecurity As FileSecurity = File.GetAccessControl(fileName)

        ' Remove the FileSystemAccessRule from the security settings. 
        fSecurity.RemoveAccessRule(New FileSystemAccessRule(account, _
            rights, controlType))

        ' Set the new access settings.
        File.SetAccessControl(fileName, fSecurity)

    End Sub
End Module

注釈

FileSecurityまたはクラスを使用して永続化できるアクセス制御規則を作成するDirectorySecurityには、このコンストラクターを使用します。Use this constructor to create an access control rule that you can persist using the FileSecurity or DirectorySecurity class. アクセス制御規則は、Microsoft Windows を実行しているコンピューターで許可または禁止する操作を決定するユーザーアカウントの権限を定義します。Access control rules define user account rights that determine which actions are allowed or disallowed on computers running Microsoft Windows.

パラメーター identityは、現在のコンピューターまたはドメインで有効なアカウントを識別する必要があります。The identity parameter must identify a valid account on the current computer or domain. 文字列の形式は次のとおりですDOMAIN 。ここで、は有効なドメイン名またはaccountコンピューター名、はドメインまたはコンピューター DOMAIN\account上の有効なユーザーアカウントの名前です。The string takes the following form, where DOMAIN is the name of a valid domain or computer name and account is the name of a valid user account on a domain or computer: DOMAIN\account.

FileSystemAccessRule(IdentityReference, FileSystemRights, InheritanceFlags, PropagationFlags, AccessControlType)

ユーザー アカウントへの参照、アクセス規則に関連付けられた操作の種類を指定する値、権限の継承方法を決定する値、権限の反映方法を決定する値、および操作を許可するか拒否するかを指定する値を使用して、FileSystemAccessRule クラスの新しいインスタンスを初期化します。Initializes a new instance of the FileSystemAccessRule class using a reference to a user account, a value that specifies the type of operation associated with the access rule, a value that determines how rights are inherited, a value that determines how rights are propagated, and a value that specifies whether to allow or deny the operation.

public:
 FileSystemAccessRule(System::Security::Principal::IdentityReference ^ identity, System::Security::AccessControl::FileSystemRights fileSystemRights, System::Security::AccessControl::InheritanceFlags inheritanceFlags, System::Security::AccessControl::PropagationFlags propagationFlags, System::Security::AccessControl::AccessControlType type);
public FileSystemAccessRule (System.Security.Principal.IdentityReference identity, System.Security.AccessControl.FileSystemRights fileSystemRights, System.Security.AccessControl.InheritanceFlags inheritanceFlags, System.Security.AccessControl.PropagationFlags propagationFlags, System.Security.AccessControl.AccessControlType type);
new System.Security.AccessControl.FileSystemAccessRule : System.Security.Principal.IdentityReference * System.Security.AccessControl.FileSystemRights * System.Security.AccessControl.InheritanceFlags * System.Security.AccessControl.PropagationFlags * System.Security.AccessControl.AccessControlType -> System.Security.AccessControl.FileSystemAccessRule

パラメーター

identity
IdentityReference

ユーザー アカウントへの参照をカプセル化する IdentityReference オブジェクト。An IdentityReference object that encapsulates a reference to a user account.

fileSystemRights
FileSystemRights

アクセス規則に関連付けられた操作の種類を指定する FileSystemRights 値のいずれか。One of the FileSystemRights values that specifies the type of operation associated with the access rule.

inheritanceFlags
InheritanceFlags

子オブジェクトにアクセス マスクを反映する方法を指定する InheritanceFlags 値のいずれか。One of the InheritanceFlags values that specifies how access masks are propagated to child objects.

propagationFlags
PropagationFlags

子オブジェクトにアクセス制御エントリ (ACE) を反映する方法を指定する PropagationFlags 値のいずれか。One of the PropagationFlags values that specifies how Access Control Entries (ACEs) are propagated to child objects.

type
AccessControlType

操作を許可するか拒否するかを指定する AccessControlType 値のいずれか。One of the AccessControlType values that specifies whether to allow or deny the operation.

例外

identity パラメーターが IdentityReference オブジェクトではありません。The identity parameter is not an IdentityReference object.

identity パラメーターが null です。The identity parameter is null.

type パラメーターに誤った列挙体が渡されました。An incorrect enumeration was passed to the type parameter.

- または --or- inheritanceFlags パラメーターに誤った列挙体が渡されました。An incorrect enumeration was passed to the inheritanceFlags parameter.

または-or- propagationFlags パラメーターに誤った列挙体が渡されました。An incorrect enumeration was passed to the propagationFlags parameter.

注釈

FileSecurityまたはクラスを使用して永続化できるアクセス制御規則を作成するDirectorySecurityには、このコンストラクターを使用します。Use this constructor to create an access control rule that you can persist using the FileSecurity or DirectorySecurity class. アクセス制御規則は、Microsoft Windows を実行しているコンピューターで許可または禁止する操作を決定するユーザーアカウントの権限を定義します。Access control rules define user account rights that determine which actions are allowed or disallowed on computers running Microsoft Windows.

FileSystemAccessRule(String, FileSystemRights, InheritanceFlags, PropagationFlags, AccessControlType)

ユーザー アカウント名、アクセス規則に関連付けられた操作の種類を指定する値、権限の継承方法を決定する値、権限の反映方法を決定する値、および操作を許可するか拒否するかを指定する値を使用して、FileSystemAccessRule クラスの新しいインスタンスを初期化します。Initializes a new instance of the FileSystemAccessRule class using the name of a user account, a value that specifies the type of operation associated with the access rule, a value that determines how rights are inherited, a value that determines how rights are propagated, and a value that specifies whether to allow or deny the operation.

public:
 FileSystemAccessRule(System::String ^ identity, System::Security::AccessControl::FileSystemRights fileSystemRights, System::Security::AccessControl::InheritanceFlags inheritanceFlags, System::Security::AccessControl::PropagationFlags propagationFlags, System::Security::AccessControl::AccessControlType type);
public FileSystemAccessRule (string identity, System.Security.AccessControl.FileSystemRights fileSystemRights, System.Security.AccessControl.InheritanceFlags inheritanceFlags, System.Security.AccessControl.PropagationFlags propagationFlags, System.Security.AccessControl.AccessControlType type);
new System.Security.AccessControl.FileSystemAccessRule : string * System.Security.AccessControl.FileSystemRights * System.Security.AccessControl.InheritanceFlags * System.Security.AccessControl.PropagationFlags * System.Security.AccessControl.AccessControlType -> System.Security.AccessControl.FileSystemAccessRule

パラメーター

identity
String

ユーザー アカウント名。The name of a user account.

fileSystemRights
FileSystemRights

アクセス規則に関連付けられた操作の種類を指定する FileSystemRights 値のいずれか。One of the FileSystemRights values that specifies the type of operation associated with the access rule.

inheritanceFlags
InheritanceFlags

子オブジェクトにアクセス マスクを反映する方法を指定する InheritanceFlags 値のいずれか。One of the InheritanceFlags values that specifies how access masks are propagated to child objects.

propagationFlags
PropagationFlags

子オブジェクトにアクセス制御エントリ (ACE) を反映する方法を指定する PropagationFlags 値のいずれか。One of the PropagationFlags values that specifies how Access Control Entries (ACEs) are propagated to child objects.

type
AccessControlType

操作を許可するか拒否するかを指定する AccessControlType 値のいずれか。One of the AccessControlType values that specifies whether to allow or deny the operation.

例外

identity パラメーターが null です。The identity parameter is null.

type パラメーターに誤った列挙体が渡されました。An incorrect enumeration was passed to the type parameter.

- または --or- inheritanceFlags パラメーターに誤った列挙体が渡されました。An incorrect enumeration was passed to the inheritanceFlags parameter.

- または --or- propagationFlags パラメーターに誤った列挙体が渡されました。An incorrect enumeration was passed to the propagationFlags parameter.

注釈

FileSecurityまたはクラスを使用して永続化できるアクセス制御規則を作成するDirectorySecurityには、このコンストラクターを使用します。Use this constructor to create an access control rule that you can persist using the FileSecurity or DirectorySecurity class. アクセス制御規則は、Microsoft Windows を実行しているコンピューターで許可または禁止する操作を決定するユーザーアカウントの権限を定義します。Access control rules define user account rights that determine which actions are allowed or disallowed on computers running Microsoft Windows.

パラメーター identityは、現在のコンピューターまたはドメインで有効なアカウントを識別する必要があります。The identity parameter must identify a valid account on the current computer or domain. 文字列の形式は次のとおりですDOMAIN 。ここで、は有効なドメイン名またはaccountコンピューター名、はドメインまたはコンピューター DOMAIN\account上の有効なユーザーアカウントの名前です。The string takes the following form, where DOMAIN is the name of a valid domain or computer name and account is the name of a valid user account on a domain or computer: DOMAIN\account.

適用対象