Microsoft.Win32.Registry.AccessControl 9.0.0-preview.3.24172.9

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 as well as .NET Standard.
35
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.
43
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.
44
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.
52
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.
55
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.
32
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.
44
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.
48
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. 10dc31ea70c14a33f371cea5a757a3d95b218acf When using NuGet 3.x this package requires at least version 3.4.
39
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. 8f968b9e79c5721d78cc88e46fe57457fe9d490d When using NuGet 3.x this package requires at least version 3.4.
51
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.
39
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.
40
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.
41
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.
43
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.
44
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.
45
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.
48
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.
55
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.
56

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