public sealed class WindowsDirectoryClient Explicit LDAP operations with typed values and no ADSI runtime COM dependency.
Remarks
Each operation owns its connection. Cross-operation transactions and automatic retries are not provided.
Constructors
WindowsDirectoryClient
public WindowsDirectoryClient(DirectoryConnectionOptions options, NetworkCredential? credential = null) Creates a directory client. Explicit credentials are retained privately and never included in diagnostic models.
Methods
CreateAsync
public Task CreateAsync(string distinguishedName, ImmutableDictionary<string, ImmutableArray<DirectoryValue>> attributes, CancellationToken cancellationToken = default) Creates an object. objectClass and all required schema attributes must be supplied explicitly.
DeleteAsync
public Task<bool> DeleteAsync(string distinguishedName, CancellationToken cancellationToken = default) Deletes a single object without recursive deletion. Returns false only if absent.
FindAsync
public Task<DirectoryObject?> FindAsync(string distinguishedName, ImmutableArray<string> attributes, CancellationToken cancellationToken = default) Reads an object by distinguished name; null means no such object.
ModifyAsync
public Task ModifyAsync(string distinguishedName, ImmutableArray<DirectoryModification> modifications, CancellationToken cancellationToken = default) Applies explicit LDAP modifications in one server request.
MoveAsync
public Task MoveAsync(string distinguishedName, string newParentDistinguishedName, string newRdn, CancellationToken cancellationToken = default) Renames or moves an object. newRdn must be a complete escaped relative distinguished name.
ReadAllAttributeValuesAsync
public Task<ImmutableArray<DirectoryValue>> ReadAllAttributeValuesAsync(string distinguishedName, string attributeName, CancellationToken cancellationToken = default) Retrieves every range of a large multi-valued AD attribute without confusing it with LDAP search paging.
ReadRootDseAsync
public Task<DirectoryObject?> ReadRootDseAsync(ImmutableArray<string> attributes, CancellationToken cancellationToken = default) Reads selected RootDSE attributes from the configured server.
SearchAsync
public Task<ImmutableArray<DirectoryObject>> SearchAsync(DirectorySearch search, CancellationToken cancellationToken = default) Performs a paged search. Cancellation is checked between bounded native requests; server failures never return partial success.