adtools is a TypeScript library that allows you to easily make ActiveDirectory calls from your application.
Use npm to install adtools.
npm install @ilefa/adtoolsimport{bind,find,findAt,findComputer,findComputersByOU,findGroup,findOU,findOUs,findUser}from'@ilefa/adtools';constbaseDN='OU=Test,DC=ad,DC=example,DC=com';constdirectory=awaitbind('ad.example.com','user@example.com','password',baseDN).catch(err=>{console.log('Failed to bind to the domain:',err);returnnull;});if(!directory)returnprocess.exit(-1);// Perform an LDAP queryletresults=awaitfind(directory,'(&(objectClass=user)(cn=Example))');// Perform an LDAP query with a custom base DNletresults=awaitfindAt(directory,'(&(objectClass=user)(cn=Example))',baseDN);// Find an OU by it's nameletou=awaitfindOU(directory,'Test');// Find all OUs (from root or from a custom base DN)letous=awaitfindOUs(directory);=awaitfindOUs(directory,baseDN);// Find a domain user by their CNletuser=awaitfindUser(directory,'user');// Find a group by it's CNletgroup=awaitfindGroup(directory,'group');// Find a computer by it's CNletcomputer=awaitfindComputer(directory,'ComputerName');// Find all computers in a target OUletcomputers=awaitfindComputersByOU(directory,baseDN);Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.