Microsoft.Win32.Registry.AccessControl 9.0.0

About

Provides support for managing access control lists for Microsoft.Win32.RegistryKey.

Key Features

  • Get access control lists for a registry key.
  • Get a specific sections of an access control list.
  • Set the access control list for a registry key.

How to Use

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

// Open a registry key (or create it if it doesn't exist)
using RegistryKey registryKey = Registry.CurrentUser.CreateSubKey("TestKey");
if (registryKey == null)
{
    Console.WriteLine("Failed to create or open the registry key.");
    return;
}

// Get the current access control list (ACL) for the registry key
RegistrySecurity registrySecurity = registryKey.GetAccessControl();
Console.WriteLine("Current Access Control List (ACL):");
Console.WriteLine(registrySecurity.GetSecurityDescriptorSddlForm(AccessControlSections.Access));

// Create a new access rule granting full control to the current user
string currentUser = Environment.UserName;
RegistryAccessRule accessRule = new RegistryAccessRule(currentUser, RegistryRights.FullControl, InheritanceFlags.None, PropagationFlags.None, AccessControlType.Allow);

// Add the new access rule to the ACL
registrySecurity.AddAccessRule(accessRule);

// Set the updated ACL on the registry key
registryKey.SetAccessControl(registrySecurity);

// Get and display the updated ACL for the registry key using the second GetAccessControl overload
RegistrySecurity updatedRegistrySecurity = registryKey.GetAccessControl(AccessControlSections.Access);
Console.WriteLine("Updated Access Control List (ACL):");
Console.WriteLine(updatedRegistrySecurity.GetSecurityDescriptorSddlForm(AccessControlSections.Access));

Main Types

The main type provided by this library is:

  • Microsoft.Win32.RegistryAclExtensions

Additional Documentation

Feedback & Contributing

Microsoft.Win32.Registry.AccessControl is released as open source under the MIT license. Bug reports and contributions are welcome at the GitHub repository.

Showing the top 20 packages that depend on Microsoft.Win32.Registry.AccessControl.

Packages Downloads
Microsoft.Windows.Compatibility
This Windows Compatibility Pack provides access to APIs that were previously available only for .NET Framework. It can be used from both .NET Core as well as .NET Standard.
21
Microsoft.Windows.Compatibility
This Windows Compatibility Pack provides access to APIs that were previously available only for .NET Framework. It can be used from both .NET Core as well as .NET Standard. When using NuGet 3.x this package requires at least version 3.4.
20
Microsoft.Windows.Compatibility
This Windows Compatibility Pack provides access to APIs that were previously available only for .NET Framework. It can be used from both .NET as well as .NET Standard.
19
Microsoft.Windows.Compatibility
This Windows Compatibility Pack provides access to APIs that were previously available only for .NET Framework. It can be used from both .NET as well as .NET Standard.
18
Microsoft.Windows.Compatibility
This Windows Compatibility Pack provides access to APIs that were previously available only for .NET Framework. It can be used from both .NET Core as well as .NET Standard. When using NuGet 3.x this package requires at least version 3.4.
18
Microsoft.Windows.Compatibility
This Windows Compatibility Pack provides access to APIs that were previously available only for .NET Framework. It can be used from both .NET Core as well as .NET Standard. When using NuGet 3.x this package requires at least version 3.4.
17
Microsoft.Windows.Compatibility
This Windows Compatibility Pack provides access to APIs that were previously available only for .NET Framework. It can be used from both .NET Core as well as .NET Standard.
17
Microsoft.Windows.Compatibility
This Windows Compatibility Pack provides access to APIs that were previously available only for .NET Framework. It can be used from both .NET as well as .NET Standard.
17
Microsoft.Windows.Compatibility
This Windows Compatibility Pack provides access to APIs that were previously available only for .NET Framework. It can be used from both .NET Core as well as .NET Standard.
16
Microsoft.Windows.Compatibility
This Windows Compatibility Pack provides access to APIs that were previously available only for .NET Framework. It can be used from both .NET Core as well as .NET Standard. When using NuGet 3.x this package requires at least version 3.4.
16
Microsoft.Windows.Compatibility
This Windows Compatibility Pack provides access to APIs that were previously available only for .NET Framework. It can be used from both .NET as well as .NET Standard.
16

https://go.microsoft.com/fwlink/?LinkID=799421

.NET Framework 4.6.2

.NET 8.0

  • No dependencies.

.NET 9.0

  • No dependencies.

.NET Standard 2.0

Version Downloads Last updated
9.0.0 6 11/13/2024
9.0.0-rc.2.24473.5 8 10/16/2024
9.0.0-rc.1.24431.7 8 09/11/2024
9.0.0-preview.7.24405.7 9 08/16/2024
9.0.0-preview.6.24327.7 11 07/12/2024
9.0.0-preview.5.24306.7 13 06/14/2024
9.0.0-preview.4.24266.19 8 05/30/2024
9.0.0-preview.3.24172.9 12 04/18/2024
9.0.0-preview.2.24128.5 17 03/15/2024
9.0.0-preview.1.24080.9 16 03/01/2024
8.0.0 14 12/28/2023
8.0.0-rc.2.23479.6 15 01/19/2024
8.0.0-rc.1.23419.4 16 09/22/2023
8.0.0-preview.7.23375.6 18 12/08/2023
8.0.0-preview.6.23329.7 17 12/07/2023
8.0.0-preview.5.23280.8 16 12/08/2023
8.0.0-preview.4.23259.5 18 07/14/2023
8.0.0-preview.3.23174.8 17 06/28/2023
8.0.0-preview.2.23128.3 15 12/09/2023
8.0.0-preview.1.23110.8 13 06/28/2023
7.0.0 16 08/01/2023
7.0.0-rc.2.22472.3 16 06/26/2023
7.0.0-rc.1.22426.10 15 07/31/2023
7.0.0-preview.7.22375.6 17 06/27/2023
7.0.0-preview.6.22324.4 15 06/27/2023
7.0.0-preview.5.22301.12 17 06/28/2023
7.0.0-preview.4.22229.4 18 06/16/2023
7.0.0-preview.3.22175.4 18 12/09/2023
7.0.0-preview.2.22152.2 15 10/29/2023
7.0.0-preview.1.22076.8 17 08/23/2023
6.0.2-mauipre.1.22102.15 16 12/09/2023
6.0.2-mauipre.1.22054.8 15 06/16/2023
6.0.1 2 11/13/2024
6.0.0 17 12/18/2023
6.0.0-rc.2.21480.5 15 12/08/2023
6.0.0-rc.1.21451.13 17 06/16/2023
6.0.0-preview.7.21377.19 16 12/09/2023
6.0.0-preview.6.21352.12 13 11/20/2023
6.0.0-preview.5.21301.5 15 06/28/2023
6.0.0-preview.4.21253.7 16 12/09/2023
6.0.0-preview.3.21201.4 18 07/14/2023
6.0.0-preview.2.21154.6 15 12/09/2023
6.0.0-preview.1.21102.12 13 12/08/2023
5.0.0 18 12/18/2023
5.0.0-rc.2.20475.5 18 12/09/2023
5.0.0-rc.1.20451.14 23 06/27/2023
5.0.0-preview.8.20407.11 17 12/08/2023
5.0.0-preview.7.20364.11 16 12/09/2023
5.0.0-preview.6.20305.6 17 06/15/2023
5.0.0-preview.5.20278.1 18 06/28/2023
5.0.0-preview.4.20251.6 17 12/08/2023
5.0.0-preview.3.20214.6 21 08/23/2023
5.0.0-preview.2.20160.6 13 12/09/2023
5.0.0-preview.1.20120.5 18 10/10/2023
4.7.0 15 11/30/2023
4.7.0-preview3.19551.4 18 12/09/2023
4.7.0-preview2.19523.17 22 06/15/2023
4.7.0-preview1.19504.10 15 12/09/2023
4.6.0 16 06/16/2023
4.6.0-rc1.19456.4 20 06/27/2023
4.6.0-preview9.19421.4 11 12/09/2023
4.6.0-preview9.19416.11 17 06/27/2023
4.6.0-preview8.19405.3 14 12/09/2023
4.6.0-preview7.19362.9 14 06/27/2023
4.6.0-preview6.19303.8 16 11/18/2023
4.6.0-preview6.19264.9 18 08/23/2023
4.6.0-preview5.19224.8 17 12/08/2023
4.6.0-preview4.19212.13 18 08/27/2023
4.6.0-preview3.19128.7 16 12/09/2023
4.6.0-preview.19073.11 13 12/09/2023
4.6.0-preview.18571.3 17 12/03/2023
4.5.0 18 12/12/2023
4.5.0-rc1 18 01/04/2024
4.5.0-preview2-26406-04 16 10/21/2023
4.5.0-preview1-26216-02 12 10/22/2023
4.5.0-preview1-25914-04 13 10/22/2023
4.4.0 16 12/27/2023
4.4.0-preview2-25405-01 13 10/22/2023
4.4.0-preview1-25305-02 16 10/22/2023
4.3.0 16 12/19/2023
4.3.0-preview1-24530-04 17 10/22/2023
4.0.0 15 12/18/2023
4.0.0-rc2-24027 16 10/13/2023
4.0.0-beta-23516 15 10/10/2023
4.0.0-beta-23409 17 10/09/2023
4.0.0-beta-23225 14 10/10/2023
4.0.0-beta-23123 14 10/10/2023
4.0.0-beta-23109 19 10/10/2023
4.0.0-beta-23019 18 10/10/2023
4.0.0-beta-22816 12 10/09/2023
4.0.0-beta-22605 15 10/10/2023