System.DirectoryServices 9.0.0-preview.3.24172.9

About

Provides easy access to Active Directory Domain Services from managed code. Microsoft Active Directory Domain Services are the foundation for distributed networks built on Windows 2000 Server, Windows Server 2003 and Microsoft Windows Server 2008 operating systems that use domain controllers. The namespace contains two component classes, DirectoryEntry and DirectorySearcher, which use the Active Directory Services Interfaces (ADSI) technology. ADSI is the set of interfaces that Microsoft provides as a flexible tool for working with a variety of network providers. ADSI gives the administrator the ability to locate and manage resources on a network with relative ease, regardless of the size of the network.

Key Features

Active Directory Domain Services use a tree structure. Each node in the tree contains a set of properties. Use this library to traverse, search, and modify the tree, and read and write to the properties of a node.

  • The DirectoryEntry class encapsulates a node or object in the Active Directory Domain Services hierarchy. Use this class for binding to objects, reading properties, and updating attributes. Together with helper classes, DirectoryEntry provides support for life-cycle management and navigation methods, including creating, deleting, renaming, moving a child node, and enumerating children.
  • Use the DirectorySearcher class to perform queries against the Active Directory Domain Services hierarchy. LDAP is the only system-supplied Active Directory Service Interfaces (ADSI) provider that supports searching. A search of the Active Directory Domain Services hierarchy through DirectorySearcher returns instances of SearchResult, which are contained in an instance of the SearchResultCollection class.
  • Network administrators write scripts and applications that access Active Directory Domain Services to automate common administrative tasks, such as adding users and groups, managing printers, and setting permissions for network resources.

How to Use

Install the System.DirectoryServices library from nuget

dotnet add package System.DirectoryServices --version 7.0.1

The sample needs a real path to an Active Directory server to work properly:

using System.DirectoryServices;

namespace TestDirectoryServices
{
    internal class Program
    {
        static void Main(string[] args)
        {
            DirectoryEntry rootDse = new DirectoryEntry("LDAP://RootDSE");
            string configNamingContext = rootDse.Properties["configurationNamingContext"].Value.ToString();

            DirectoryEntry certTemplates = new DirectoryEntry("LDAP://CN=Certificate Templates,CN=Public Key Services,CN=Services," + configNamingContext);
            DirectorySearcher templatesSearch = new DirectorySearcher(certTemplates, "(objectClass=pKICertificateTemplate)", null, SearchScope.OneLevel);

            SearchResultCollection templates = templatesSearch.FindAll();

            foreach (SearchResult template in templates)
            {
                Console.WriteLine($"Name: {template.Properties["name"][0]} ({template.Properties["displayName"][0]})");
                Console.WriteLine($"Flags: {template.Properties["msPKI-Enrollment-Flag"][0]}");
            }
        }
    }
}

Main Types

The main types provided by this library are:

  • System.DirectoryServices.DirectoryEntry
  • System.DirectoryServices.DirectorySearcher

Additional Documentation

Feedback & Contributing

System.DirectoryServices 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 System.DirectoryServices.

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.
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. 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.
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
System.DirectoryServices.AccountManagement
Provides uniform access and manipulation of user, computer, and group security principals across the multiple principal stores: Active Directory Domain Services (AD DS), Active Directory Lightweight Directory Services (AD LDS), and Machine SAM (MSAM).
51
System.DirectoryServices.AccountManagement
Provides uniform access and manipulation of user, computer, and group security principals across the multiple principal stores: Active Directory Domain Services (AD DS), Active Directory Lightweight Directory Services (AD LDS), and Machine SAM (MSAM).
55
System.DirectoryServices.AccountManagement
Provides uniform access and manipulation of user, computer, and group security principals across the multiple principal stores: Active Directory Domain Services (AD DS), Active Directory Lightweight Directory Services (AD LDS), and Machine SAM (MSAM).
57
System.DirectoryServices.AccountManagement
Provides uniform access and manipulation of user, computer, and group security principals across the multiple principal stores: Active Directory Domain Services (AD DS), Active Directory Lightweight Directory Services (AD LDS), and Machine SAM (MSAM).
61
System.DirectoryServices.AccountManagement
Provides uniform access and manipulation of user, computer, and group security principals across the multiple principal stores: Active Directory Domain Services (AD DS), Active Directory Lightweight Directory Services (AD LDS), and Machine SAM (MSAM).
63
System.DirectoryServices.AccountManagement
Provides uniform access and manipulation of user, computer, and group security principals across the multiple principal stores: Active Directory Domain Services (AD DS), Active Directory Lightweight Directory Services (AD LDS), and Machine SAM (MSAM).
64
System.DirectoryServices.AccountManagement
Provides uniform access and manipulation of user, computer, and group security principals across the multiple principal stores: Active Directory Domain Services (AD DS), Active Directory Lightweight Directory Services (AD LDS), and Machine SAM (MSAM). 7e3dbdb95b30650eabade0ac73a10b22d4dbe8b3 When using NuGet 3.x this package requires at least version 3.4.
66
System.DirectoryServices.AccountManagement
Provides uniform access and manipulation of user, computer, and group security principals across the multiple principal stores: Active Directory Domain Services (AD DS), Active Directory Lightweight Directory Services (AD LDS), and Machine SAM (MSAM). When using NuGet 3.x this package requires at least version 3.4.
53
System.DirectoryServices.AccountManagement
Provides uniform access and manipulation of user, computer, and group security principals across the multiple principal stores: Active Directory Domain Services (AD DS), Active Directory Lightweight Directory Services (AD LDS), and Machine SAM (MSAM). When using NuGet 3.x this package requires at least version 3.4.
55
System.DirectoryServices.AccountManagement
Provides uniform access and manipulation of user, computer, and group security principals across the multiple principal stores: Active Directory Domain Services (AD DS), Active Directory Lightweight Directory Services (AD LDS), and Machine SAM (MSAM). When using NuGet 3.x this package requires at least version 3.4.
56
System.DirectoryServices.AccountManagement
Provides uniform access and manipulation of user, computer, and group security principals across the multiple principal stores: Active Directory Domain Services (AD DS), Active Directory Lightweight Directory Services (AD LDS), and Machine SAM (MSAM). When using NuGet 3.x this package requires at least version 3.4.
61
System.DirectoryServices.AccountManagement
Provides uniform access and manipulation of user, computer, and group security principals across the multiple principal stores: Active Directory Domain Services (AD DS), Active Directory Lightweight Directory Services (AD LDS), and Machine SAM (MSAM). When using NuGet 3.x this package requires at least version 3.4.
64

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

.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 2 04/22/2024
9.0.0-preview.2.24128.5 5 03/15/2024
9.0.0-preview.1.24080.9 2 03/02/2024
8.0.0 11 11/16/2023
8.0.0-rc.2.23479.6 2 10/13/2023
8.0.0-rc.1.23419.4 7 09/15/2023
8.0.0-preview.7.23375.6 24 09/14/2023
8.0.0-preview.6.23329.7 6 09/15/2023
8.0.0-preview.5.23280.8 7 06/14/2023
8.0.0-preview.4.23259.5 31 05/17/2023
8.0.0-preview.3.23174.8 27 04/15/2023
8.0.0-preview.2.23128.3 12 04/03/2023
8.0.0-preview.1.23110.8 12 04/15/2023
7.0.1 21 03/12/2023
7.0.0 8 04/15/2023
7.0.0-rc.2.22472.3 49 10/15/2022
7.0.0-rc.1.22426.10 17 09/22/2022
7.0.0-preview.7.22375.6 27 09/12/2022
7.0.0-preview.6.22324.4 51 09/24/2022
7.0.0-preview.5.22301.12 72 09/25/2022
7.0.0-preview.4.22229.4 22 10/15/2022
7.0.0-preview.3.22175.4 42 09/23/2022
7.0.0-preview.2.22152.2 31 09/23/2022
7.0.0-preview.1.22076.8 51 09/23/2022
6.0.2-mauipre.1.22102.15 23 09/26/2022
6.0.2-mauipre.1.22054.8 35 09/24/2022
6.0.1 27 04/15/2023
6.0.0 57 09/22/2022
6.0.0-rc.2.21480.5 31 09/21/2022
6.0.0-rc.1.21451.13 50 09/21/2022
6.0.0-preview.7.21377.19 31 09/22/2022
6.0.0-preview.6.21352.12 42 09/22/2022
6.0.0-preview.5.21301.5 46 09/23/2022
6.0.0-preview.4.21253.7 57 09/22/2022
6.0.0-preview.3.21201.4 41 09/24/2022
6.0.0-preview.2.21154.6 49 09/22/2022
6.0.0-preview.1.21102.12 16 09/25/2022
5.0.0 26 09/21/2022
5.0.0-rc.2.20475.5 55 09/22/2022
5.0.0-rc.1.20451.14 17 09/21/2022
5.0.0-preview.8.20407.11 58 09/23/2022
5.0.0-preview.7.20364.11 38 09/23/2022
5.0.0-preview.6.20305.6 68 09/21/2022
5.0.0-preview.5.20278.1 14 09/22/2022
5.0.0-preview.4.20251.6 27 09/23/2022
5.0.0-preview.3.20214.6 25 09/24/2022
5.0.0-preview.2.20160.6 14 09/23/2022
5.0.0-preview.1.20120.5 14 09/23/2022
4.7.0 63 09/24/2022
4.7.0-preview3.19551.4 41 09/23/2022
4.7.0-preview2.19523.17 51 09/24/2022
4.7.0-preview1.19504.10 53 09/22/2022
4.6.0 42 10/15/2022
4.6.0-rc1.19456.4 39 09/24/2022
4.6.0-preview9.19421.4 29 09/22/2022
4.6.0-preview9.19416.11 30 09/23/2022
4.6.0-preview8.19405.3 59 09/22/2022
4.6.0-preview7.19362.9 50 09/23/2022
4.6.0-preview6.19303.8 33 09/25/2022
4.6.0-preview6.19264.9 52 09/21/2022
4.6.0-preview5.19224.8 52 09/21/2022
4.6.0-preview4.19212.13 16 09/26/2022
4.6.0-preview3.19128.7 6 10/15/2022
4.6.0-preview.19073.11 37 09/23/2022
4.6.0-preview.18571.3 28 09/22/2022
4.5.0 26 09/24/2022
4.5.0-rc1 48 09/22/2022
4.5.0-preview2-26406-04 46 09/23/2022
4.5.0-preview1-26216-02 41 09/24/2022
4.5.0-preview1-25914-04 62 09/22/2022