System.DirectoryServices 9.0.0

Prefix Reserved
dotnet add package System.DirectoryServices --version 9.0.0                
NuGet\Install-Package System.DirectoryServices -Version 9.0.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="System.DirectoryServices" Version="9.0.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add System.DirectoryServices --version 9.0.0                
#r "nuget: System.DirectoryServices, 9.0.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install System.DirectoryServices as a Cake Addin
#addin nuget:?package=System.DirectoryServices&version=9.0.0

// Install System.DirectoryServices as a Cake Tool
#tool nuget:?package=System.DirectoryServices&version=9.0.0                

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.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 is compatible.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (230)

Showing the top 5 NuGet packages that depend on System.DirectoryServices:

Package Downloads
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).

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.

System.Management.Automation

Runtime for hosting PowerShell

Microsoft.PowerShell.SDK

Runtime for hosting PowerShell

Microsoft.Exchange.WebServices.NETStandard

The Exchange Web Services (EWS) Managed API provides a managed interface for developing .NET client applications that use EWS. By using the EWS Managed API, you can access almost all the information stored in an Office 365, Exchange Online, or Exchange Server mailbox.

GitHub repositories (31)

Showing the top 5 popular GitHub repositories that depend on System.DirectoryServices:

Repository Stars
PowerShell/PowerShell
PowerShell for every system!
mRemoteNG/mRemoteNG
mRemoteNG is the next generation of mRemote, open source, tabbed, multi-protocol, remote connections manager.
opserver/Opserver
Stack Exchange's Monitoring System
exceptionless/Exceptionless
Exceptionless application
filoe/cscore
An advanced audio library, written in C#. Provides tons of features. From playing/recording audio to decoding/encoding audio streams/files to processing audio data in realtime (e.g. applying custom effects during playback, create visualizations,...). The possibilities are nearly unlimited.
Version Downloads Last updated
9.0.0 47,356 11/12/2024
9.0.0-rc.2.24473.5 20,882 10/8/2024
9.0.0-rc.1.24431.7 10,428 9/10/2024
9.0.0-preview.7.24405.7 7,977 8/13/2024
9.0.0-preview.6.24327.7 15,730 7/9/2024
9.0.0-preview.5.24306.7 6,556 6/11/2024
9.0.0-preview.4.24266.19 5,197 5/21/2024
9.0.0-preview.3.24172.9 9,481 4/11/2024
9.0.0-preview.2.24128.5 1,749 3/12/2024
9.0.0-preview.1.24080.9 14,858 2/13/2024
8.0.0 7,930,048 11/14/2023
8.0.0-rc.2.23479.6 18,479 10/10/2023
8.0.0-rc.1.23419.4 67,238 9/12/2023
8.0.0-preview.7.23375.6 23,699 8/8/2023
8.0.0-preview.6.23329.7 11,803 7/11/2023
8.0.0-preview.5.23280.8 2,260 6/13/2023
8.0.0-preview.4.23259.5 15,869 5/16/2023
8.0.0-preview.3.23174.8 30,094 4/11/2023
8.0.0-preview.2.23128.3 16,269 3/14/2023
8.0.0-preview.1.23110.8 11,774 2/21/2023
7.0.1 5,934,129 2/14/2023
7.0.0 4,612,769 11/7/2022
7.0.0-rc.2.22472.3 17,014 10/11/2022
7.0.0-rc.1.22426.10 64,198 9/14/2022
7.0.0-preview.7.22375.6 14,776 8/9/2022
7.0.0-preview.6.22324.4 5,097 7/12/2022
7.0.0-preview.5.22301.12 1,991 6/14/2022
7.0.0-preview.4.22229.4 11,515 5/10/2022
7.0.0-preview.3.22175.4 3,087 4/13/2022
7.0.0-preview.2.22152.2 13,382 3/14/2022
7.0.0-preview.1.22076.8 6,385 2/17/2022
6.0.2 4,051 11/12/2024
6.0.1 13,195,741 2/14/2023
6.0.0 16,692,893 11/8/2021
6.0.0-rc.2.21480.5 18,085 10/12/2021
6.0.0-rc.1.21451.13 14,275 9/14/2021
6.0.0-preview.7.21377.19 7,852 8/10/2021
6.0.0-preview.6.21352.12 9,525 7/14/2021
6.0.0-preview.5.21301.5 13,775 6/15/2021
6.0.0-preview.4.21253.7 24,112 5/24/2021
6.0.0-preview.3.21201.4 11,291 4/8/2021
6.0.0-preview.2.21154.6 24,313 3/11/2021
6.0.0-preview.1.21102.12 26,139 2/12/2021
5.0.0 42,759,033 11/9/2020 5.0.0 is deprecated because it is no longer maintained.
5.0.0-rc.2.20475.5 13,223 10/13/2020
5.0.0-rc.1.20451.14 14,184 9/14/2020
5.0.0-preview.8.20407.11 12,951 8/25/2020
5.0.0-preview.7.20364.11 22,765 7/21/2020
5.0.0-preview.6.20305.6 9,704 6/25/2020
5.0.0-preview.5.20278.1 7,328 6/10/2020
5.0.0-preview.4.20251.6 19,027 5/18/2020
5.0.0-preview.3.20214.6 31,970 4/23/2020
5.0.0-preview.2.20160.6 20,039 4/2/2020
5.0.0-preview.1.20120.5 4,504 3/16/2020
4.7.0 21,883,451 12/3/2019
4.7.0-preview3.19551.4 4,397 11/13/2019
4.7.0-preview2.19523.17 15,088 11/1/2019
4.7.0-preview1.19504.10 11,744 10/15/2019
4.6.0 3,038,000 9/23/2019
4.6.0-rc1.19456.4 59,061 9/16/2019
4.6.0-preview9.19421.4 4,034 9/4/2019
4.6.0-preview9.19416.11 507 9/4/2019
4.6.0-preview8.19405.3 7,113 8/13/2019
4.6.0-preview7.19362.9 12,213 7/23/2019
4.6.0-preview6.19303.8 50,108 6/12/2019
4.6.0-preview6.19264.9 510 9/4/2019
4.6.0-preview5.19224.8 27,848 5/6/2019
4.6.0-preview4.19212.13 3,682 4/18/2019
4.6.0-preview3.19128.7 9,533 3/6/2019
4.6.0-preview.19073.11 39,755 1/29/2019
4.6.0-preview.18571.3 18,478 12/3/2018
4.5.0 14,808,097 5/29/2018
4.5.0-rc1 98,018 5/6/2018
4.5.0-preview2-26406-04 33,979 4/10/2018
4.5.0-preview1-26216-02 83,791 2/26/2018
4.5.0-preview1-25914-04 375,013 11/15/2017