The .NET Framework offers two APIs for accessing Active Directory. The one from System.DirectoryServices.Protocols is a pure LDAP client and offers asynchronous operations. But the usage is rather cumbersome. This wrapper is a Highlevel API around these functions.