RegistrySecurity RegistrySecurity RegistrySecurity RegistrySecurity Class

定義

レジストリ キーの Windows アクセス制御セキュリティを表します。Represents the Windows access control security for a registry key. このクラスは継承できません。This class cannot be inherited.

public ref class RegistrySecurity sealed : System::Security::AccessControl::NativeObjectSecurity
[System.Security.SecurityCritical]
public sealed class RegistrySecurity : System.Security.AccessControl.NativeObjectSecurity
type RegistrySecurity = class
    inherit NativeObjectSecurity
Public NotInheritable Class RegistrySecurity
Inherits NativeObjectSecurity
継承
属性

このセクションには、2 つのコード例が含まれています。This section contains two code examples. 最初の例では、互換性のあるルールが追加および削除されたときのマージ方法を示し、2番目の例では、継承フラグと反映フラグがルールの追加と削除にどのように影響するかを示します。The first example shows how compatible rules merge when added and removed, and the second shows how inheritance and propagation flags affect the addition and deletion of rules.

例 1Example 1

次のコード例は、メソッドRemoveAccessRuleが互換性のある規則から権限を削除する方法AddAccessRuleと、メソッドが互換性のある規則との間で権限をマージする方法を示しています。The following code example shows how the RemoveAccessRule method removes rights from a compatible rule, and how the AddAccessRule method merges rights with compatible rules.

この例ではRegistrySecurity 、オブジェクトを作成し、現在のユーザー RegistryRights.ReadKeyの権限を許可するルールを追加します。The example creates a RegistrySecurity object and adds a rule that allows the current user RegistryRights.ReadKey rights. 次に、最初の規則と同じ継承とRegistryRights.SetValue反映の権限を持つユーザーを付与する規則を作成し、 RemoveAccessRuleメソッドを使用して、 RegistrySecurityこの新しい規則をオブジェクトから削除します。The example then creates a rule that grants the user RegistryRights.SetValue, with the same inheritance and propagation rights as the first rule, and uses the RemoveAccessRule method to remove this new rule from the RegistrySecurity object. SetValueはの構成要素ReadKeyであるため、互換性のある規則から削除されます。SetValue is a constituent of ReadKey, so it is removed from the compatible rule. RegistrySecurityオブジェクト内のルールが表示され、のReadKey残りの構成要素が表示されます。The rules in the RegistrySecurity object are displayed, showing the remaining constituents of ReadKey.

コード例では、 AddAccessRuleメソッドを呼び出して、 SetValue RegistrySecurityオブジェクト内のルールに適切にマージします。The example code then calls the AddAccessRule method to merge the SetValue right back into the rule in the RegistrySecurity object.

注意

この例では、 RegistryKeyオブジェクトにセキュリティオブジェクトをアタッチしません。This example does not attach the security object to a RegistryKey object. このセクションの2番目の例では、セキュリティオブジェクトをアタッチしますRegistryKey.GetAccessControlRegistryKey.SetAccessControlそのため、「」と「」の例を参照してください。The second example in this section attaches a security object, and so do the examples in RegistryKey.GetAccessControl and RegistryKey.SetAccessControl.


using System;
using System.Security.AccessControl;
using System.Security.Principal;
using System.Security;
using Microsoft.Win32;

public class Example
{

    public static void Main()
    {

        string user = Environment.UserDomainName + "\\"
            + Environment.UserName;

        // Create a security object that grants no access.
        RegistrySecurity mSec = new RegistrySecurity();

        // Add a rule that grants the current user ReadKey
        // rights. ReadKey is a combination of four other 
        // rights. The rule is inherited by all 
        // contained subkeys.
        RegistryAccessRule rule = new RegistryAccessRule(user, 
            RegistryRights.ReadKey, 
            InheritanceFlags.ContainerInherit, 
            PropagationFlags.None, 
            AccessControlType.Allow);
        mSec.AddAccessRule(rule);

        // Create a rule that allows the current user only the 
        // right to query the key/value pairs of a key, using  
        // the same inheritance and propagation flags as the
        // first rule. QueryValues is a constituent of 
        // ReadKey, so when this rule is removed, using the 
        // RemoveAccessRule method, ReadKey is broken into
        // its constituent parts.
        rule = new RegistryAccessRule(user, 
            RegistryRights.QueryValues, 
            InheritanceFlags.ContainerInherit, 
            PropagationFlags.None, 
            AccessControlType.Allow);
        mSec.RemoveAccessRule(rule);

        // Display the rules in the security object.
        ShowSecurity(mSec);

        // Add the second rule back. It merges with the 
        // existing rule, so that the rule is now displayed
        // as ReadKey.
        mSec.AddAccessRule(rule);

        // Display the rules in the security object.
        ShowSecurity(mSec);
    }

    private static void ShowSecurity(RegistrySecurity security)
    {
        Console.WriteLine("\r\nCurrent access rules:\r\n");

        foreach( RegistryAccessRule ar in security.GetAccessRules(true, true, typeof(NTAccount)) )
        {
            Console.WriteLine("        User: {0}", ar.IdentityReference);
            Console.WriteLine("        Type: {0}", ar.AccessControlType);
            Console.WriteLine("      Rights: {0}", ar.RegistryRights);
            Console.WriteLine(" Inheritance: {0}", ar.InheritanceFlags);
            Console.WriteLine(" Propagation: {0}", ar.PropagationFlags);
            Console.WriteLine("   Inherited? {0}", ar.IsInherited);
            Console.WriteLine();
        }
    }
}

/* This code example produces output similar to following:

Current access rules:

        User: TestDomain\TestUser
        Type: Allow
      Rights: EnumerateSubKeys, Notify, ReadPermissions
 Inheritance: ContainerInherit
 Propagation: None
   Inherited? False


Current access rules:

        User: TestDomain\TestUser
        Type: Allow
      Rights: ReadKey
 Inheritance: ContainerInherit
 Propagation: None
   Inherited? False
 */
Option Explicit
Imports System.Security.AccessControl
Imports System.Security.Principal
Imports System.Security
Imports Microsoft.Win32

Public Class Example

    Public Shared Sub Main()

        Dim user As String = Environment.UserDomainName _ 
            & "\" & Environment.UserName

        ' Create a security object that grants no access.
        Dim mSec As New RegistrySecurity()

        ' Add a rule that grants the current user ReadKey
        ' rights. ReadKey is a combination of four other 
        ' rights. The rule is inherited by all 
        ' contained subkeys.
        Dim rule As New RegistryAccessRule(user, _
            RegistryRights.ReadKey, _
            InheritanceFlags.ContainerInherit, _
            PropagationFlags.None, _
            AccessControlType.Allow)
        mSec.AddAccessRule(rule)

        ' Create a rule that allows the current user only the 
        ' right to query the key/value pairs of a key, using  
        ' the same inheritance and propagation flags as the
        ' first rule. QueryValues is a constituent of 
        ' ReadKey, so when this rule is removed, using the 
        ' RemoveAccessRule method, ReadKey is broken into
        ' its constituent parts.
        rule = New RegistryAccessRule(user, _
            RegistryRights.QueryValues, _
            InheritanceFlags.ContainerInherit, _
            PropagationFlags.None, _
            AccessControlType.Allow)
        mSec.RemoveAccessRule(rule)

        ' Display the rules in the security object.
        ShowSecurity(mSec)

        ' Add the second rule back. It merges with the 
        ' existing rule, so that the rule is now displayed
        ' as ReadKey.
        mSec.AddAccessRule(rule)

        ' Display the rules in the security object.
        ShowSecurity(mSec)

    End Sub 

    Private Shared Sub ShowSecurity(ByVal security As RegistrySecurity)
        Console.WriteLine(vbCrLf & "Current access rules:" & vbCrLf)

        For Each ar As RegistryAccessRule In _
            security.GetAccessRules(True, True, GetType(NTAccount))

            Console.WriteLine("        User: {0}", ar.IdentityReference)
            Console.WriteLine("        Type: {0}", ar.AccessControlType)
            Console.WriteLine("      Rights: {0}", ar.RegistryRights)
            Console.WriteLine(" Inheritance: {0}", ar.InheritanceFlags)
            Console.WriteLine(" Propagation: {0}", ar.PropagationFlags)
            Console.WriteLine("   Inherited? {0}", ar.IsInherited)
            Console.WriteLine()
        Next

    End Sub
End Class 

'This code example produces output similar to following:
'
'Current access rules:
'
'        User: TestDomain\TestUser
'        Type: Allow
'      Rights: EnumerateSubKeys, Notify, ReadPermissions
' Inheritance: ContainerInherit
' Propagation: None
'   Inherited? False
'
'
'Current access rules:
'
'        User: TestDomain\TestUser
'        Type: Allow
'      Rights: ReadKey
' Inheritance: ContainerInherit
' Propagation: None
'   Inherited? False
'

例 2Example 2

次のコード例は、継承と反映を含むアクセス規則を示しています。The following code example demonstrates access rules with inheritance and propagation. この例ではRegistrySecurity 、オブジェクトを作成し、 ContainerInheritフラグを持つ2つのルールを作成して追加します。The example creates a RegistrySecurity object, then creates and adds two rules that have the ContainerInherit flag. 最初のルールには伝達フラグがありませんがNoPropagateInheritInheritOnly2 番目のルールにはおよびがあります。The first rule has no propagation flags, while the second has NoPropagateInherit and InheritOnly.

プログラムによってRegistrySecurityオブジェクト内のルールが表示され、 RegistrySecurityオブジェクトを使用してサブキーが作成されます。The program displays the rules in the RegistrySecurity object, and then uses the RegistrySecurity object to create a subkey. プログラムは、子サブキーと孫サブキーを作成し、各サブキーのセキュリティを表示します。The program creates a child subkey and a grandchild subkey, then displays the security for each subkey. 最後に、プログラムはテストキーを削除します。Finally, the program deletes the test keys.


using System;
using System.Security.AccessControl;
using System.Security.Principal;
using System.Security;
using Microsoft.Win32;

public class Example
{
    public static void Main()
    {
        const string TestKey = "TestKey3927";
        RegistryKey cu = Registry.CurrentUser;

        string user = Environment.UserDomainName + 
            "\\" + Environment.UserName;

        // Create a security object that grants no access.
        RegistrySecurity mSec = new RegistrySecurity();

        // Add a rule that grants the current user the right
        // to read and enumerate the name/value pairs in a key, 
        // to read its access and audit rules, to enumerate
        // its subkeys, to create subkeys, and to delete the key. 
        // The rule is inherited by all contained subkeys.
        //
        RegistryAccessRule rule = new RegistryAccessRule(user, 
           RegistryRights.ReadKey | RegistryRights.WriteKey 
               | RegistryRights.Delete, 
           InheritanceFlags.ContainerInherit, 
           PropagationFlags.None, 
           AccessControlType.Allow
        );
        mSec.AddAccessRule(rule);

        // Add a rule that allows the current user the right
        // right to set the name/value pairs in a key. 
        // This rule is inherited by contained subkeys, but
        // propagation flags limit it to immediate child 
        // subkeys.
        rule = new RegistryAccessRule(user, 
            RegistryRights.ChangePermissions, 
            InheritanceFlags.ContainerInherit, 
            PropagationFlags.InheritOnly | 
                PropagationFlags.NoPropagateInherit, 
            AccessControlType.Allow);
        mSec.AddAccessRule(rule);

        // Display the rules in the security object.
        ShowSecurity(mSec);

        // Create the test key using the security object.
        //
        RegistryKey rk = cu.CreateSubKey(TestKey, 
            RegistryKeyPermissionCheck.ReadWriteSubTree, mSec);

        // Create a child subkey and a grandchild subkey, 
        // without security.
        RegistryKey rkChild = rk.CreateSubKey("ChildKey", 
            RegistryKeyPermissionCheck.ReadWriteSubTree);
        RegistryKey rkGrandChild = 
            rkChild.CreateSubKey("GrandChildKey", 
                RegistryKeyPermissionCheck.ReadWriteSubTree);

        Show(rk);
        Show(rkChild);
        Show(rkGrandChild);

        rkGrandChild.Close();
        rkChild.Close();
        rk.Close();

        cu.DeleteSubKeyTree(TestKey);
    }

    private static void Show(RegistryKey rk)
    {
        Console.WriteLine(rk.Name);
        ShowSecurity(rk.GetAccessControl());
    }

    private static void ShowSecurity(RegistrySecurity security)
    {
        Console.WriteLine("\r\nCurrent access rules:\r\n");

        foreach( RegistryAccessRule ar in security.GetAccessRules(true, true, typeof(NTAccount)) )
        {

            Console.WriteLine("        User: {0}", ar.IdentityReference);
            Console.WriteLine("        Type: {0}", ar.AccessControlType);
            Console.WriteLine("      Rights: {0}", ar.RegistryRights);
            Console.WriteLine(" Inheritance: {0}", ar.InheritanceFlags);
            Console.WriteLine(" Propagation: {0}", ar.PropagationFlags);
            Console.WriteLine("   Inherited? {0}", ar.IsInherited);
            Console.WriteLine();
        }

    }
}

/* This code example produces output similar to following:

Current access rules:

        User: TestDomain\TestUser
        Type: Allow
      Rights: SetValue, CreateSubKey, Delete, ReadKey
 Inheritance: ContainerInherit
 Propagation: None
   Inherited? False

        User: TestDomain\TestUser
        Type: Allow
      Rights: ChangePermissions
 Inheritance: ContainerInherit
 Propagation: NoPropagateInherit, InheritOnly
   Inherited? False

HKEY_CURRENT_USER\TestKey3927

Current access rules:

        User: TestDomain\TestUser
        Type: Allow
      Rights: SetValue, CreateSubKey, Delete, ReadKey
 Inheritance: ContainerInherit
 Propagation: None
   Inherited? False

        User: TestDomain\TestUser
        Type: Allow
      Rights: ChangePermissions
 Inheritance: ContainerInherit
 Propagation: NoPropagateInherit, InheritOnly
   Inherited? False

HKEY_CURRENT_USER\TestKey3927\ChildKey

Current access rules:

        User: TestDomain\TestUser
        Type: Allow
      Rights: SetValue, CreateSubKey, Delete, ReadKey
 Inheritance: ContainerInherit
 Propagation: None
   Inherited? True

        User: TestDomain\TestUser
        Type: Allow
      Rights: ChangePermissions
 Inheritance: None
 Propagation: None
   Inherited? True

HKEY_CURRENT_USER\TestKey3927\ChildKey\GrandChildKey

Current access rules:

        User: TestDomain\TestUser
        Type: Allow
      Rights: SetValue, CreateSubKey, Delete, ReadKey
 Inheritance: ContainerInherit
 Propagation: None
   Inherited? True
 */
Option Explicit
Imports System.Security.AccessControl
Imports System.Security.Principal
Imports System.Security
Imports Microsoft.Win32

Public Class Example

    Public Shared Sub Main()

        Const TestKey As String = "TestKey3927"
        Dim cu As RegistryKey = Registry.CurrentUser

        Dim user As String = Environment.UserDomainName _ 
            & "\" & Environment.UserName

        ' Create a security object that grants no access.
        Dim mSec As New RegistrySecurity()

        ' Add a rule that grants the current user the right
        ' to read and enumerate the name/value pairs in a key, 
        ' to read its access and audit rules, to enumerate
        ' its subkeys, to create subkeys, and to delete the key. 
        ' The rule is inherited by all contained subkeys.
        '
        Dim rule As New RegistryAccessRule(user, _
            RegistryRights.ReadKey Or RegistryRights.WriteKey _
                Or RegistryRights.Delete, _
            InheritanceFlags.ContainerInherit, _
            PropagationFlags.None, _
            AccessControlType.Allow)
        mSec.AddAccessRule(rule)

        ' Add a rule that allows the current user the right
        ' right to set the name/value pairs in a key. 
        ' This rule is inherited by contained subkeys, but
        ' propagation flags limit it to immediate child 
        ' subkeys.
        rule = New RegistryAccessRule(user, _
            RegistryRights.ChangePermissions, _
            InheritanceFlags.ContainerInherit, _
            PropagationFlags.InheritOnly Or PropagationFlags.NoPropagateInherit, _
            AccessControlType.Allow)
        mSec.AddAccessRule(rule)

        ' Display the rules in the security object.
        ShowSecurity(mSec)

        ' Create the test key using the security object.
        '
        Dim rk As RegistryKey = cu.CreateSubKey(TestKey, _
            RegistryKeyPermissionCheck.ReadWriteSubTree, _
            mSec)

        ' Create a child subkey and a grandchild subkey, 
        ' without security.
        Dim rkChild As RegistryKey= rk.CreateSubKey("ChildKey", _
            RegistryKeyPermissionCheck.ReadWriteSubTree)
        Dim rkGrandChild As RegistryKey = _
            rkChild.CreateSubKey("GrandChildKey", _
                RegistryKeyPermissionCheck.ReadWriteSubTree)

        Show(rk)
        Show(rkChild)
        Show(rkGrandChild)

        rkGrandChild.Close()
        rkChild.Close()
        rk.Close()

        cu.DeleteSubKeyTree(TestKey)
    End Sub 

    Private Shared Sub Show(ByVal rk As RegistryKey)
        Console.WriteLine(rk.Name)            
        ShowSecurity(rk.GetAccessControl())
    End Sub

    Private Shared Sub ShowSecurity(ByVal security As RegistrySecurity)
        Console.WriteLine(vbCrLf & "Current access rules:" & vbCrLf)

        For Each ar As RegistryAccessRule In _
            security.GetAccessRules(True, True, GetType(NTAccount))

            Console.WriteLine("        User: {0}", ar.IdentityReference)
            Console.WriteLine("        Type: {0}", ar.AccessControlType)
            Console.WriteLine("      Rights: {0}", ar.RegistryRights)
            Console.WriteLine(" Inheritance: {0}", ar.InheritanceFlags)
            Console.WriteLine(" Propagation: {0}", ar.PropagationFlags)
            Console.WriteLine("   Inherited? {0}", ar.IsInherited)
            Console.WriteLine()
        Next

    End Sub
End Class 

'This code example produces output similar to following:
'
'Current access rules:
'
'        User: TestDomain\TestUser
'        Type: Allow
'      Rights: SetValue, CreateSubKey, Delete, ReadKey
' Inheritance: ContainerInherit
' Propagation: None
'   Inherited? False
'
'        User: TestDomain\TestUser
'        Type: Allow
'      Rights: ChangePermissions
' Inheritance: ContainerInherit
' Propagation: NoPropagateInherit, InheritOnly
'   Inherited? False
'
'HKEY_CURRENT_USER\TestKey3927
'
'Current access rules:
'
'        User: TestDomain\TestUser
'        Type: Allow
'      Rights: SetValue, CreateSubKey, Delete, ReadKey
' Inheritance: ContainerInherit
' Propagation: None
'   Inherited? False
'
'        User: TestDomain\TestUser
'        Type: Allow
'      Rights: ChangePermissions
' Inheritance: ContainerInherit
' Propagation: NoPropagateInherit, InheritOnly
'   Inherited? False
'
'HKEY_CURRENT_USER\TestKey3927\ChildKey
'
'Current access rules:
'
'        User: TestDomain\TestUser
'        Type: Allow
'      Rights: SetValue, CreateSubKey, Delete, ReadKey
' Inheritance: ContainerInherit
' Propagation: None
'   Inherited? True
'
'        User: TestDomain\TestUser
'        Type: Allow
'      Rights: ChangePermissions
' Inheritance: None
' Propagation: None
'   Inherited? True
'
'HKEY_CURRENT_USER\TestKey3927\ChildKey\GrandChildKey
'
'Current access rules:
'
'        User: TestDomain\TestUser
'        Type: Allow
'      Rights: SetValue, CreateSubKey, Delete, ReadKey
' Inheritance: ContainerInherit
' Propagation: None
'   Inherited? True

注釈

オブジェクトRegistrySecurityは、レジストリキーのアクセス権を指定します。また、アクセス試行の監査方法も指定します。A RegistrySecurity object specifies access rights for a registry key, and also specifies how access attempts are audited. レジストリキーへのアクセス権は、 RegistryAccessRuleオブジェクトによって表される各アクセスルールと共に、ルールとして表現されます。Access rights to the registry key are expressed as rules, with each access rule represented by a RegistryAccessRule object. 各監査規則は、 RegistryAuditRuleオブジェクトによって表されます。Each auditing rule is represented by a RegistryAuditRule object.

これにより、基になる Windows セキュリティシステムがミラー化されます。セキュリティ保護可能な各オブジェクトには、セキュリティで保護されたオブジェクトへのアクセスを制御する随意アクセス制御リスト (DACL) が1つだけあります。また、アクセスを指定するシステムアクセス制御リスト (SACL) は最大1つです。試行は監査されます。This mirrors the underlying Windows security system, in which each securable object has at most one discretionary access control list (DACL) that controls access to the secured object, and at most one system access control list (SACL) that specifies which access attempts are audited. DACL と SACL は、ユーザーおよびグループのアクセスと監査を指定するアクセス制御エントリ (ACE) の順序付きリストです。The DACL and SACL are ordered lists of access control entries (ACE) that specify access and auditing for users and groups. オブジェクトRegistryAccessRuleまたRegistryAuditRuleはオブジェクトは、複数の ACE を表す場合があります。A RegistryAccessRule or RegistryAuditRule object might represent more than one ACE.

注意

Windows アクセス制御セキュリティは、レジストリキーにのみ適用できます。Windows access control security can only be applied to registry keys. キーに格納されている個々のキーと値のペアには適用できません。It cannot be applied to individual key/value pairs stored in a key.

RegistrySecurityRegistryAccessRuleおよびRegistryAuditRuleの各クラスは、acl と ace の実装の詳細を非表示にします。The RegistrySecurity, RegistryAccessRule, and RegistryAuditRule classes hide the implementation details of ACLs and ACEs. 17個の ACE の種類と、アクセス権の継承と反映を適切に維持する複雑さを無視することができます。They allow you to ignore the seventeen different ACE types and the complexity of correctly maintaining inheritance and propagation of access rights. これらのオブジェクトは、次の一般的なアクセス制御エラーを防ぐためにも設計されています。These objects are also designed to prevent the following common access control errors:

  • Null の DACL を持つセキュリティ記述子を作成します。Creating a security descriptor with a null DACL. DACL への null 参照を使用すると、任意のユーザーがオブジェクトにアクセス規則を追加でき、サービス拒否攻撃を行う可能性があります。A null reference to a DACL allows any user to add access rules to an object, potentially creating a denial-of-service attack. 新しいRegistrySecurityオブジェクトは、常に空の DACL で開始され、すべてのユーザーのすべてのアクセスを拒否します。A new RegistrySecurity object always starts with an empty DACL, which denies all access for all users.

  • Ace の正規の順序に違反しています。Violating the canonical ordering of ACEs. DACL の ACE リストが正規の順序で保持されていない場合、セキュリティで保護されたオブジェクトへのアクセス権がユーザーに与えられる可能性があります。If the ACE list in the DACL is not kept in the canonical order, users might inadvertently be given access to the secured object. たとえば、拒否されたアクセス権は、許可されたアクセス権の前に常に表示される必要があります。For example, denied access rights must always appear before allowed access rights. RegistrySecurityオブジェクトは、内部で正しい順序を維持します。RegistrySecurity objects maintain the correct order internally.

  • セキュリティ記述子のフラグを操作します。このフラグは、resource manager コントロールのみに存在する必要があります。Manipulating security descriptor flags, which should be under resource manager control only.

  • ACE フラグの無効な組み合わせを作成しています。Creating invalid combinations of ACE flags.

  • 継承された Ace を操作します。Manipulating inherited ACEs. 継承と反映は、アクセスおよび監査規則に対する変更に応じて、リソースマネージャーによって処理されます。Inheritance and propagation are handled by the resource manager, in response to changes you make to access and audit rules.

  • Acl に意味のない Ace を挿入します。Inserting meaningless ACEs into ACLs.

.NET セキュリティオブジェクトでサポートされていない機能は、次のように、ほとんどのアプリケーション開発者が回避する必要がある危険なアクティビティだけです。The only capabilities not supported by the .NET security objects are dangerous activities that should be avoided by the majority of application developers, such as the following:

  • 通常はリソースマネージャーによって実行される低レベルのタスク。Low-level tasks that are normally performed by the resource manager.

  • アクセス制御エントリを追加または削除すると、標準の順序が維持されません。Adding or removing access control entries in ways that do not maintain the canonical ordering.

レジストリキーの Windows アクセス制御セキュリティを変更するには、 RegistryKey.GetAccessControlメソッドを使用しRegistrySecurityてオブジェクトを取得します。To modify Windows access control security for a registry key, use the RegistryKey.GetAccessControl method to get the RegistrySecurity object. 規則を追加および削除してセキュリティオブジェクトを変更し、 RegistryKey.SetAccessControlメソッドを使用して再アタッチします。Modify the security object by adding and removing rules, and then use the RegistryKey.SetAccessControl method to reattach it.

重要

RegistrySecurityオブジェクトに加えた変更は、変更されたセキュリティオブジェクトをレジストリキーに割り当てるためにRegistryKey.SetAccessControlメソッドを呼び出すまで、レジストリキーのアクセスレベルには影響しません。Changes you make to a RegistrySecurity object do not affect the access levels of the registry key until you call the RegistryKey.SetAccessControl method to assign the altered security object to the registry key.

あるレジストリキーから別のレジストリキーにアクセス制御セキュリティをコピー RegistryKey.GetAccessControlするには、 RegistrySecurityメソッドを使用して、最初のレジストリキーのアクセス規則と監査規則をRegistryKey.SetAccessControl表すオブジェクトを取得し、メソッドを使用してこれらの規則をに割り当てます。2番目のレジストリキー。To copy access control security from one registry key to another, use the RegistryKey.GetAccessControl method to get a RegistrySecurity object representing the access and audit rules for the first registry key, and then use the RegistryKey.SetAccessControl method to assign those rules to the second registry key. RegistryKey.OpenSubKeyまた、オブジェクトパラメーターをRegistrySecurity受け取るメソッドまたはRegistryKey.CreateSubKeyメソッドを使用して、2番目のレジストリキーに規則を割り当てることもできます。You can also assign the rules to a second registry key with an RegistryKey.OpenSubKey or RegistryKey.CreateSubKey method that takes a RegistrySecurity object parameter.

セキュリティ記述子定義言語 (SDDL) に投資しているユーザーは、 SetSecurityDescriptorSddlFormメソッドを使用してレジストリキーのアクセス規則を設定できます。また、 GetSecurityDescriptorSddlFormメソッドを使用して、アクセス規則を SDDL 形式で表す文字列を取得することもできます。Users with an investment in the security descriptor definition language (SDDL) can use the SetSecurityDescriptorSddlForm method to set access rules for a registry key, and the GetSecurityDescriptorSddlForm method to obtain a string that represents the access rules in SDDL format. これは、新しい開発では推奨されません。This is not recommended for new development.

コンストラクター

RegistrySecurity() RegistrySecurity() RegistrySecurity() RegistrySecurity()

RegistrySecurity クラスの新しいインスタンスを既定値で初期化します。Initializes a new instance of the RegistrySecurity class with default values.

プロパティ

AccessRightType AccessRightType AccessRightType AccessRightType

RegistrySecurity クラスでアクセス権を表すために使用する列挙型を取得します。Gets the enumeration type that the RegistrySecurity class uses to represent access rights.

AccessRulesModified AccessRulesModified AccessRulesModified AccessRulesModified

この ObjectSecurity オブジェクトに関連するアクセス規則が変更されたかどうかを指定するブール値を取得または設定します。Gets or sets a Boolean value that specifies whether the access rules associated with this ObjectSecurity object have been modified.

(Inherited from ObjectSecurity)
AccessRuleType AccessRuleType AccessRuleType AccessRuleType

RegistrySecurity クラスでアクセス規則を表すために使用する型を取得します。Gets the type that the RegistrySecurity class uses to represent access rules.

AreAccessRulesCanonical AreAccessRulesCanonical AreAccessRulesCanonical AreAccessRulesCanonical

この ObjectSecurity オブジェクトに関連するアクセス規則の順序が正規順序であるかどうかを指定するブール値を取得します。Gets a Boolean value that specifies whether the access rules associated with this ObjectSecurity object are in canonical order.

(Inherited from ObjectSecurity)
AreAccessRulesProtected AreAccessRulesProtected AreAccessRulesProtected AreAccessRulesProtected

この ObjectSecurity オブジェクトに関連付けられている随意アクセス制御リスト (DACL) が保護されているかどうかを指定するブール値を取得します。Gets a Boolean value that specifies whether the Discretionary Access Control List (DACL) associated with this ObjectSecurity object is protected.

(Inherited from ObjectSecurity)
AreAuditRulesCanonical AreAuditRulesCanonical AreAuditRulesCanonical AreAuditRulesCanonical

この ObjectSecurity オブジェクトに関連する監査規則の順序が正規順序であるかどうかを指定するブール値を取得します。Gets a Boolean value that specifies whether the audit rules associated with this ObjectSecurity object are in canonical order.

(Inherited from ObjectSecurity)
AreAuditRulesProtected AreAuditRulesProtected AreAuditRulesProtected AreAuditRulesProtected

この ObjectSecurity オブジェクトに関連付けられているシステム アクセス制御リスト (SACL) が保護されているかどうかを指定するブール値を取得します。Gets a Boolean value that specifies whether the System Access Control List (SACL) associated with this ObjectSecurity object is protected.

(Inherited from ObjectSecurity)
AuditRulesModified AuditRulesModified AuditRulesModified AuditRulesModified

この ObjectSecurity オブジェクトに関連する監査規則が変更されたかどうかを指定するブール値を取得または設定します。Gets or sets a Boolean value that specifies whether the audit rules associated with this ObjectSecurity object have been modified.

(Inherited from ObjectSecurity)
AuditRuleType AuditRuleType AuditRuleType AuditRuleType

RegistrySecurity クラスで監査規則を表すために使用する型を取得します。Gets the type that the RegistrySecurity class uses to represent audit rules.

GroupModified GroupModified GroupModified GroupModified

セキュリティ保護可能なオブジェクトと関連付けられているグループが変更されているかどうかを指定するブール値を取得または設定します。Gets or sets a Boolean value that specifies whether the group associated with the securable object has been modified.

(Inherited from ObjectSecurity)
IsContainer IsContainer IsContainer IsContainer

この ObjectSecurity オブジェクトがコンテナー オブジェクトかどうかを指定するブール値を取得します。Gets a Boolean value that specifies whether this ObjectSecurity object is a container object.

(Inherited from ObjectSecurity)
IsDS IsDS IsDS IsDS

この ObjectSecurity オブジェクトがディレクトリ オブジェクトかどうかを指定するブール値を取得します。Gets a Boolean value that specifies whether this ObjectSecurity object is a directory object.

(Inherited from ObjectSecurity)
OwnerModified OwnerModified OwnerModified OwnerModified

セキュリティ保護可能なオブジェクトの所有者が変更されているかどうかを指定するブール値を取得または設定します。Gets or sets a Boolean value that specifies whether the owner of the securable object has been modified.

(Inherited from ObjectSecurity)
SecurityDescriptor SecurityDescriptor SecurityDescriptor SecurityDescriptor

このインスタンスのセキュリティ記述子を取得します。Gets the security descriptor for this instance.

(Inherited from ObjectSecurity)

メソッド

AccessRuleFactory(IdentityReference, Int32, Boolean, InheritanceFlags, PropagationFlags, AccessControlType) AccessRuleFactory(IdentityReference, Int32, Boolean, InheritanceFlags, PropagationFlags, AccessControlType) AccessRuleFactory(IdentityReference, Int32, Boolean, InheritanceFlags, PropagationFlags, AccessControlType) AccessRuleFactory(IdentityReference, Int32, Boolean, InheritanceFlags, PropagationFlags, AccessControlType)

アクセス権、アクセス制御、およびフラグを指定して、指定したユーザーに対して新しいアクセス制御規則を作成します。Creates a new access control rule for the specified user, with the specified access rights, access control, and flags.

AddAccessRule(AccessRule) AddAccessRule(AccessRule) AddAccessRule(AccessRule) AddAccessRule(AccessRule)

指定したアクセス規則を、この CommonObjectSecurity オブジェクトに関連付けられた随意アクセス制御リスト (DACL: Discretionary Access Control List) に追加します。Adds the specified access rule to the Discretionary Access Control List (DACL) associated with this CommonObjectSecurity object.

(Inherited from CommonObjectSecurity)
AddAccessRule(RegistryAccessRule) AddAccessRule(RegistryAccessRule) AddAccessRule(RegistryAccessRule) AddAccessRule(RegistryAccessRule)

新しい規則をマージできる、一致するアクセス制御を検索します。Searches for a matching access control with which the new rule can be merged. 見つからない場合は、新しい規則を追加します。If none are found, adds the new rule.

AddAuditRule(AuditRule) AddAuditRule(AuditRule) AddAuditRule(AuditRule) AddAuditRule(AuditRule)

指定した監査規則を、この CommonObjectSecurity オブジェクトに関連付けられたシステム アクセス制御リスト (SACL: System Access Control List) に追加します。Adds the specified audit rule to the System Access Control List (SACL) associated with this CommonObjectSecurity object.

(Inherited from CommonObjectSecurity)
AddAuditRule(RegistryAuditRule) AddAuditRule(RegistryAuditRule) AddAuditRule(RegistryAuditRule) AddAuditRule(RegistryAuditRule)

新しい規則をマージできる監査規則を検索します。Searches for an audit rule with which the new rule can be merged. 見つからない場合は、新しい規則を追加します。If none are found, adds the new rule.

AuditRuleFactory(IdentityReference, Int32, Boolean, InheritanceFlags, PropagationFlags, AuditFlags) AuditRuleFactory(IdentityReference, Int32, Boolean, InheritanceFlags, PropagationFlags, AuditFlags) AuditRuleFactory(IdentityReference, Int32, Boolean, InheritanceFlags, PropagationFlags, AuditFlags) AuditRuleFactory(IdentityReference, Int32, Boolean, InheritanceFlags, PropagationFlags, AuditFlags)

規則の適用対象となるユーザー、監査するアクセス権、規則の継承と反映、および規則を発生させる結果を指定して、新しい監査規則を作成します。Creates a new audit rule, specifying the user the rule applies to, the access rights to audit, the inheritance and propagation of the rule, and the outcome that triggers the rule.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetAccessRules(Boolean, Boolean, Type) GetAccessRules(Boolean, Boolean, Type) GetAccessRules(Boolean, Boolean, Type) GetAccessRules(Boolean, Boolean, Type)

指定したセキュリティ識別子に関連付けられたアクセス規則のコレクションを取得します。Gets a collection of the access rules associated with the specified security identifier.

(Inherited from CommonObjectSecurity)
GetAuditRules(Boolean, Boolean, Type) GetAuditRules(Boolean, Boolean, Type) GetAuditRules(Boolean, Boolean, Type) GetAuditRules(Boolean, Boolean, Type)

指定したセキュリティ識別子に関連付けられた監査規則のコレクションを取得します。Gets a collection of the audit rules associated with the specified security identifier.

(Inherited from CommonObjectSecurity)
GetGroup(Type) GetGroup(Type) GetGroup(Type) GetGroup(Type)

指定された所有者に関連付けられているプライマリ グループを取得します。Gets the primary group associated with the specified owner.

(Inherited from ObjectSecurity)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(Inherited from Object)
GetOwner(Type) GetOwner(Type) GetOwner(Type) GetOwner(Type)

指定されたプライマリ グループに関連付けられている所有者を取得します。Gets the owner associated with the specified primary group.

(Inherited from ObjectSecurity)
GetSecurityDescriptorBinaryForm() GetSecurityDescriptorBinaryForm() GetSecurityDescriptorBinaryForm() GetSecurityDescriptorBinaryForm()

この ObjectSecurity オブジェクトに関するセキュリティ記述子の情報を表すバイト値の配列を返します。Returns an array of byte values that represents the security descriptor information for this ObjectSecurity object.

(Inherited from ObjectSecurity)
GetSecurityDescriptorSddlForm(AccessControlSections) GetSecurityDescriptorSddlForm(AccessControlSections) GetSecurityDescriptorSddlForm(AccessControlSections) GetSecurityDescriptorSddlForm(AccessControlSections)

ObjectSecurity オブジェクトに関連付けられているセキュリティ記述子の指定したセクションにあるセキュリティ記述子定義言語 (SDDL) 表現を返します。Returns the Security Descriptor Definition Language (SDDL) representation of the specified sections of the security descriptor associated with this ObjectSecurity object.

(Inherited from ObjectSecurity)
GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
ModifyAccess(AccessControlModification, AccessRule, Boolean) ModifyAccess(AccessControlModification, AccessRule, Boolean) ModifyAccess(AccessControlModification, AccessRule, Boolean) ModifyAccess(AccessControlModification, AccessRule, Boolean)

この CommonObjectSecurity オブジェクトに関連付けられている随意アクセス制御リスト (DACL) への指定された変更を適用します。Applies the specified modification to the Discretionary Access Control List (DACL) associated with this CommonObjectSecurity object.

(Inherited from CommonObjectSecurity)
ModifyAccessRule(AccessControlModification, AccessRule, Boolean) ModifyAccessRule(AccessControlModification, AccessRule, Boolean) ModifyAccessRule(AccessControlModification, AccessRule, Boolean) ModifyAccessRule(AccessControlModification, AccessRule, Boolean)

この ObjectSecurity オブジェクトに関連付けられている随意アクセス制御リスト (DACL) への指定された変更を適用します。Applies the specified modification to the Discretionary Access Control List (DACL) associated with this ObjectSecurity object.

(Inherited from ObjectSecurity)
ModifyAudit(AccessControlModification, AuditRule, Boolean) ModifyAudit(AccessControlModification, AuditRule, Boolean) ModifyAudit(AccessControlModification, AuditRule, Boolean) ModifyAudit(AccessControlModification, AuditRule, Boolean)

指定された変更を、この CommonObjectSecurity オブジェクトに関連付けられているシステム アクセス制御リスト (SACL) に適用します。Applies the specified modification to the System Access Control List (SACL) associated with this CommonObjectSecurity object.

(Inherited from CommonObjectSecurity)
ModifyAuditRule(AccessControlModification, AuditRule, Boolean) ModifyAuditRule(AccessControlModification, AuditRule, Boolean) ModifyAuditRule(AccessControlModification, AuditRule, Boolean) ModifyAuditRule(AccessControlModification, AuditRule, Boolean)

指定された変更を、この ObjectSecurity オブジェクトに関連付けられているシステム アクセス制御リスト (SACL) に適用します。Applies the specified modification to the System Access Control List (SACL) associated with this ObjectSecurity object.

(Inherited from ObjectSecurity)
Persist(Boolean, String, AccessControlSections) Persist(Boolean, String, AccessControlSections) Persist(Boolean, String, AccessControlSections) Persist(Boolean, String, AccessControlSections)

この ObjectSecurity オブジェクトに関連付けられたセキュリティ記述子の指定されたセクションを、永続ストレージに保存します。Saves the specified sections of the security descriptor associated with this ObjectSecurity object to permanent storage. コンストラクターと persist メソッドに渡される includeSections パラメーターの値を同一にすることをお勧めします。We recommend that the values of the includeSections parameters passed to the constructor and persist methods be identical.

(Inherited from ObjectSecurity)
Persist(SafeHandle, AccessControlSections) Persist(SafeHandle, AccessControlSections) Persist(SafeHandle, AccessControlSections) Persist(SafeHandle, AccessControlSections)

この NativeObjectSecurity オブジェクトに関連付けられたセキュリティ記述子の指定したセクションを、永続的なストレージに保存します。Saves the specified sections of the security descriptor associated with this NativeObjectSecurity object to permanent storage. コンストラクターと persist メソッドに渡される includeSections パラメーターの値を同一にすることをお勧めします。We recommend.persist that the values of the includeSections parameters passed to the constructor and persist methods be identical.

(Inherited from NativeObjectSecurity)
Persist(SafeHandle, AccessControlSections, Object) Persist(SafeHandle, AccessControlSections, Object) Persist(SafeHandle, AccessControlSections, Object) Persist(SafeHandle, AccessControlSections, Object)

この NativeObjectSecurity オブジェクトに関連付けられたセキュリティ記述子の指定されたセクションを、永続ストレージに保存します。Saves the specified sections of the security descriptor associated with this NativeObjectSecurity object to permanent storage. コンストラクターと persist メソッドに渡される includeSections パラメーターの値を同一にすることをお勧めします。We recommend that the values of the includeSections parameters passed to the constructor and persist methods be identical.

(Inherited from NativeObjectSecurity)
Persist(String, AccessControlSections) Persist(String, AccessControlSections) Persist(String, AccessControlSections) Persist(String, AccessControlSections)

この NativeObjectSecurity オブジェクトに関連付けられたセキュリティ記述子の指定されたセクションを、永続ストレージに保存します。Saves the specified sections of the security descriptor associated with this NativeObjectSecurity object to permanent storage. コンストラクターと persist メソッドに渡される includeSections パラメーターの値を同一にすることをお勧めします。We recommend that the values of the includeSections parameters passed to the constructor and persist methods be identical.

(Inherited from NativeObjectSecurity)
Persist(String, AccessControlSections, Object) Persist(String, AccessControlSections, Object) Persist(String, AccessControlSections, Object) Persist(String, AccessControlSections, Object)

この NativeObjectSecurity オブジェクトに関連付けられたセキュリティ記述子の指定されたセクションを、永続ストレージに保存します。Saves the specified sections of the security descriptor associated with this NativeObjectSecurity object to permanent storage. コンストラクターと persist メソッドに渡される includeSections パラメーターの値を同一にすることをお勧めします。We recommend that the values of the includeSections parameters passed to the constructor and persist methods be identical.

(Inherited from NativeObjectSecurity)
PurgeAccessRules(IdentityReference) PurgeAccessRules(IdentityReference) PurgeAccessRules(IdentityReference) PurgeAccessRules(IdentityReference)

指定した IdentityReference と関連付けられているすべてのアクセス規則をすべて削除します。Removes all access rules associated with the specified IdentityReference.

(Inherited from ObjectSecurity)
PurgeAuditRules(IdentityReference) PurgeAuditRules(IdentityReference) PurgeAuditRules(IdentityReference) PurgeAuditRules(IdentityReference)

指定した IdentityReference と関連付けられている監査規則をすべて削除します。Removes all audit rules associated with the specified IdentityReference.

(Inherited from ObjectSecurity)
ReadLock() ReadLock() ReadLock() ReadLock()

読み取りアクセス用のこの ObjectSecurity オブジェクトをロックします。Locks this ObjectSecurity object for read access.

(Inherited from ObjectSecurity)
ReadUnlock() ReadUnlock() ReadUnlock() ReadUnlock()

読み取りアクセス用のこの ObjectSecurity オブジェクトをロック解除します。Unlocks this ObjectSecurity object for read access.

(Inherited from ObjectSecurity)
RemoveAccessRule(AccessRule) RemoveAccessRule(AccessRule) RemoveAccessRule(AccessRule) RemoveAccessRule(AccessRule)

指定したアクセス規則と同じセキュリティ識別子とアクセス マスクを含むアクセス規則を、この CommonObjectSecurity オブジェクトに関連付けられた随意アクセス制御リスト (DACL: Discretionary Access Control List) から削除します。Removes access rules that contain the same security identifier and access mask as the specified access rule from the Discretionary Access Control List (DACL) associated with this CommonObjectSecurity object.

(Inherited from CommonObjectSecurity)
RemoveAccessRule(RegistryAccessRule) RemoveAccessRule(RegistryAccessRule) RemoveAccessRule(RegistryAccessRule) RemoveAccessRule(RegistryAccessRule)

指定したアクセス規則と同じユーザーと AccessControlType (許可または拒否)、および互換性がある継承フラグと反映フラグが指定されたアクセス制御規則が検索されます。このような規則が見つかると、指定したアクセス規則に含まれる権限がその規則から削除されます。Searches for an access control rule with the same user and AccessControlType (allow or deny) as the specified access rule, and with compatible inheritance and propagation flags; if such a rule is found, the rights contained in the specified access rule are removed from it.

RemoveAccessRuleAll(AccessRule) RemoveAccessRuleAll(AccessRule) RemoveAccessRuleAll(AccessRule) RemoveAccessRuleAll(AccessRule)

指定したアクセス規則と同じセキュリティ識別子を含むすべてのアクセス規則を、この CommonObjectSecurity オブジェクトに関連付けられた随意アクセス制御リスト (DACL: Discretionary Access Control List) から削除します。Removes all access rules that have the same security identifier as the specified access rule from the Discretionary Access Control List (DACL) associated with this CommonObjectSecurity object.

(Inherited from CommonObjectSecurity)
RemoveAccessRuleAll(RegistryAccessRule) RemoveAccessRuleAll(RegistryAccessRule) RemoveAccessRuleAll(RegistryAccessRule) RemoveAccessRuleAll(RegistryAccessRule)

指定した規則と同じユーザーおよび同じ AccessControlType (許可または拒否) が指定されたアクセス制御規則をすべて検索し、一致する規則が見つかった場合は、その規則を削除します。Searches for all access control rules with the same user and AccessControlType (allow or deny) as the specified rule and, if found, removes them.

RemoveAccessRuleSpecific(AccessRule) RemoveAccessRuleSpecific(AccessRule) RemoveAccessRuleSpecific(AccessRule) RemoveAccessRuleSpecific(AccessRule)

指定したアクセス規則と完全に一致するすべてのアクセス規則を、この CommonObjectSecurity オブジェクトに関連付けられた随意アクセス制御リスト (DACL: Discretionary Access Control List) から削除します。Removes all access rules that exactly match the specified access rule from the Discretionary Access Control List (DACL) associated with this CommonObjectSecurity object.

(Inherited from CommonObjectSecurity)
RemoveAccessRuleSpecific(RegistryAccessRule) RemoveAccessRuleSpecific(RegistryAccessRule) RemoveAccessRuleSpecific(RegistryAccessRule) RemoveAccessRuleSpecific(RegistryAccessRule)

指定した規則に正確に一致するアクセス制御規則を検索し、見つかった場合は、その規則を削除します。Searches for an access control rule that exactly matches the specified rule and, if found, removes it.

RemoveAuditRule(AuditRule) RemoveAuditRule(AuditRule) RemoveAuditRule(AuditRule) RemoveAuditRule(AuditRule)

指定した監査規則と同じセキュリティ識別子とアクセス マスクを含む監査規則を、この CommonObjectSecurity オブジェクトに関連付けられたシステム アクセス制御リスト (SACL: System Access Control List) から削除します。Removes audit rules that contain the same security identifier and access mask as the specified audit rule from the System Access Control List (SACL) associated with this CommonObjectSecurity object.

(Inherited from CommonObjectSecurity)
RemoveAuditRule(RegistryAuditRule) RemoveAuditRule(RegistryAuditRule) RemoveAuditRule(RegistryAuditRule) RemoveAuditRule(RegistryAuditRule)

指定した規則と同じユーザー、および互換性のある継承フラグと反映フラグが指定された監査制御規則が検索されます。互換性のある規則が見つかると、指定した規則に含まれる権限がその規則から削除されます。Searches for an audit control rule with the same user as the specified rule, and with compatible inheritance and propagation flags; if a compatible rule is found, the rights contained in the specified rule are removed from it.

RemoveAuditRuleAll(AuditRule) RemoveAuditRuleAll(AuditRule) RemoveAuditRuleAll(AuditRule) RemoveAuditRuleAll(AuditRule)

指定した監査規則と同じセキュリティ識別子を含むすべての監査規則を、この CommonObjectSecurity オブジェクトに関連付けられたシステム アクセス制御リスト (SACL: System Access Control List) から削除します。Removes all audit rules that have the same security identifier as the specified audit rule from the System Access Control List (SACL) associated with this CommonObjectSecurity object.

(Inherited from CommonObjectSecurity)
RemoveAuditRuleAll(RegistryAuditRule) RemoveAuditRuleAll(RegistryAuditRule) RemoveAuditRuleAll(RegistryAuditRule) RemoveAuditRuleAll(RegistryAuditRule)

指定した規則と同じユーザーが設定されているすべての監査規則を検索し、見つかった場合はそれらの規則を削除します。Searches for all audit rules with the same user as the specified rule and, if found, removes them.

RemoveAuditRuleSpecific(AuditRule) RemoveAuditRuleSpecific(AuditRule) RemoveAuditRuleSpecific(AuditRule) RemoveAuditRuleSpecific(AuditRule)

指定した監査規則と完全に一致するすべての監査規則を、この CommonObjectSecurity オブジェクトに関連付けられたシステム アクセス制御リスト (SACL: System Access Control List) から削除します。Removes all audit rules that exactly match the specified audit rule from the System Access Control List (SACL) associated with this CommonObjectSecurity object.

(Inherited from CommonObjectSecurity)
RemoveAuditRuleSpecific(RegistryAuditRule) RemoveAuditRuleSpecific(RegistryAuditRule) RemoveAuditRuleSpecific(RegistryAuditRule) RemoveAuditRuleSpecific(RegistryAuditRule)

指定した規則に正確に一致する監査規則を検索し、見つかった場合は、その規則を削除します。Searches for an audit rule that exactly matches the specified rule and, if found, removes it.

ResetAccessRule(AccessRule) ResetAccessRule(AccessRule) ResetAccessRule(AccessRule) ResetAccessRule(AccessRule)

この CommonObjectSecurity オブジェクトに関連付けられた随意アクセス制御リスト (DACL: Discretionary Access Control List) 内のすべてのアクセス規則を削除し、指定したアクセス規則を追加します。Removes all access rules in the Discretionary Access Control List (DACL) associated with this CommonObjectSecurity object and then adds the specified access rule.

(Inherited from CommonObjectSecurity)
ResetAccessRule(RegistryAccessRule) ResetAccessRule(RegistryAccessRule) ResetAccessRule(RegistryAccessRule) ResetAccessRule(RegistryAccessRule)

AccessControlType に関係なく、指定した規則と同じユーザーが指定されたすべてのアクセス制御規則を削除し、指定した規則を追加します。Removes all access control rules with the same user as the specified rule, regardless of AccessControlType, and then adds the specified rule.

SetAccessRule(AccessRule) SetAccessRule(AccessRule) SetAccessRule(AccessRule) SetAccessRule(AccessRule)

指定したアクセス規則と同じセキュリティ識別子と修飾子を含むすべてのアクセス規則を、この CommonObjectSecurity オブジェクトに関連付けられた随意アクセス制御リスト (DACL: Discretionary Access Control List) から削除し、指定したアクセス規則を追加します。Removes all access rules that contain the same security identifier and qualifier as the specified access rule in the Discretionary Access Control List (DACL) associated with this CommonObjectSecurity object and then adds the specified access rule.

(Inherited from CommonObjectSecurity)
SetAccessRule(RegistryAccessRule) SetAccessRule(RegistryAccessRule) SetAccessRule(RegistryAccessRule) SetAccessRule(RegistryAccessRule)

指定した規則と同じユーザーおよび同じ AccessControlType (許可または拒否) が指定されたすべてのアクセス制御規則を削除し、指定した規則を追加します。Removes all access control rules with the same user and AccessControlType (allow or deny) as the specified rule, and then adds the specified rule.

SetAccessRuleProtection(Boolean, Boolean) SetAccessRuleProtection(Boolean, Boolean) SetAccessRuleProtection(Boolean, Boolean) SetAccessRuleProtection(Boolean, Boolean)

この ObjectSecurity オブジェクトに関連付けられたアクセス規則の保護を設定または削除します。Sets or removes protection of the access rules associated with this ObjectSecurity object. 保護されたアクセス規則を親オブジェクトが継承によって変更することはできません。Protected access rules cannot be modified by parent objects through inheritance.

(Inherited from ObjectSecurity)
SetAuditRule(AuditRule) SetAuditRule(AuditRule) SetAuditRule(AuditRule) SetAuditRule(AuditRule)

指定した監査規則と同じセキュリティ識別子と修飾子を含むすべての監査規則を、この CommonObjectSecurity オブジェクトに関連付けられたシステム アクセス制御リスト (SACL: System Access Control List) から削除し、指定した監査規則を追加します。Removes all audit rules that contain the same security identifier and qualifier as the specified audit rule in the System Access Control List (SACL) associated with this CommonObjectSecurity object and then adds the specified audit rule.

(Inherited from CommonObjectSecurity)
SetAuditRule(RegistryAuditRule) SetAuditRule(RegistryAuditRule) SetAuditRule(RegistryAuditRule) SetAuditRule(RegistryAuditRule)

AuditFlags 値に関係なく、指定した規則と同じユーザーが指定されたすべての監査規則を削除し、指定した規則を追加します。Removes all audit rules with the same user as the specified rule, regardless of the AuditFlags value, and then adds the specified rule.

SetAuditRuleProtection(Boolean, Boolean) SetAuditRuleProtection(Boolean, Boolean) SetAuditRuleProtection(Boolean, Boolean) SetAuditRuleProtection(Boolean, Boolean)

この ObjectSecurity オブジェクトに関連付けられた監査規則の保護を設定または削除します。Sets or removes protection of the audit rules associated with this ObjectSecurity object. 保護された監査規則は、親オブジェクトによる継承によって変更できません。Protected audit rules cannot be modified by parent objects through inheritance.

(Inherited from ObjectSecurity)
SetGroup(IdentityReference) SetGroup(IdentityReference) SetGroup(IdentityReference) SetGroup(IdentityReference)

この ObjectSecurity オブジェクトに関連付けられているセキュリティ記述子のプライマリ グループを設定します。Sets the primary group for the security descriptor associated with this ObjectSecurity object.

(Inherited from ObjectSecurity)
SetOwner(IdentityReference) SetOwner(IdentityReference) SetOwner(IdentityReference) SetOwner(IdentityReference)

このObjectSecurity オブジェクトに関連付けられているセキュリティ記述子の所有者を設定します。Sets the owner for the security descriptor associated with this ObjectSecurity object.

(Inherited from ObjectSecurity)
SetSecurityDescriptorBinaryForm(Byte[]) SetSecurityDescriptorBinaryForm(Byte[]) SetSecurityDescriptorBinaryForm(Byte[]) SetSecurityDescriptorBinaryForm(Byte[])

バイト値の指定された配列から、この ObjectSecurity オブジェクトに関するセキュリティ記述子を設定します。Sets the security descriptor for this ObjectSecurity object from the specified array of byte values.

(Inherited from ObjectSecurity)
SetSecurityDescriptorBinaryForm(Byte[], AccessControlSections) SetSecurityDescriptorBinaryForm(Byte[], AccessControlSections) SetSecurityDescriptorBinaryForm(Byte[], AccessControlSections) SetSecurityDescriptorBinaryForm(Byte[], AccessControlSections)

バイト値の指定された配列から、この ObjectSecurity オブジェクトに関するセキュリティ記述子の指定されたセクションを設定します。Sets the specified sections of the security descriptor for this ObjectSecurity object from the specified array of byte values.

(Inherited from ObjectSecurity)
SetSecurityDescriptorSddlForm(String) SetSecurityDescriptorSddlForm(String) SetSecurityDescriptorSddlForm(String) SetSecurityDescriptorSddlForm(String)

指定したセキュリティ記述子定義言語 (SDDL) 文字列から、ObjectSecurity オブジェクトのセキュリティ記述子を設定します。Sets the security descriptor for this ObjectSecurity object from the specified Security Descriptor Definition Language (SDDL) string.

(Inherited from ObjectSecurity)
SetSecurityDescriptorSddlForm(String, AccessControlSections) SetSecurityDescriptorSddlForm(String, AccessControlSections) SetSecurityDescriptorSddlForm(String, AccessControlSections) SetSecurityDescriptorSddlForm(String, AccessControlSections)

指定したセキュリティ記述子定義言語 (SDDL) 文字列から、ObjectSecurity オブジェクトのセキュリティ記述子の指定したセクションを設定します。Sets the specified sections of the security descriptor for this ObjectSecurity object from the specified Security Descriptor Definition Language (SDDL) string.

(Inherited from ObjectSecurity)
ToString() ToString() ToString() ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(Inherited from Object)
WriteLock() WriteLock() WriteLock() WriteLock()

書き込みアクセス用のこの ObjectSecurity オブジェクトをロックします。Locks this ObjectSecurity object for write access.

(Inherited from ObjectSecurity)
WriteUnlock() WriteUnlock() WriteUnlock() WriteUnlock()

書き込みアクセス用にこの ObjectSecurity オブジェクトのロックを解除します。Unlocks this ObjectSecurity object for write access.

(Inherited from ObjectSecurity)

適用対象