1.1.0 • Published 9 months ago

@uconn-its/adtools v1.1.0

Weekly downloads
-
License
GPL-3.0
Repository
bitbucket
Last release
9 months ago

adtools

adtools is a TypeScript library that allows you to easily make ActiveDirectory calls from your application.

Installation

Use npm to install adtools.

npm install @uconn-its/adtools

Usage

import {
    bind,
    find,
    findAt,
    findComputer,
    findComputersByOU,
    findGroup,
    findOU,
    findOUs,
    findUser
} from '@uconn-its/adtools';

const baseDN = 'OU=Test,DC=ad,DC=example,DC=com';

const directory = await bind('ad.example.com', 'user@example.com', 'password', baseDN).catch(err => {
    console.log('Failed to bind to the domain:', err);
    return null;
});

if (!directory) return process.exit(-1);

// Perform an LDAP query
let results = await find(directory, '(&(objectClass=user)(cn=Example))');

// Perform an LDAP query with a custom base DN
let results = await findAt(directory, '(&(objectClass=user)(cn=Example))', baseDN);

// Find an OU by it's name
let ou = await findOU(directory, 'Test');

// Find all OUs (from root or from a custom base DN)
let ous = await findOUs(directory);
        = await findOUs(directory, baseDN);

// Find a domain user by their CN
let user = await findUser(directory, 'user');

// Find a group by it's CN
let group = await findGroup(directory, 'group');

// Find a computer by it's CN
let computer = await findComputer(directory, 'ComputerName');

// Find all computers in a target OU
let computers = await findComputersByOU(directory, baseDN);

Publishing

To publish an update to this package follow these steps;

  1. Make sure your git directory is clean by commiting or stashing all changes.
  2. Move the .env.example to .envand change the NPMRC_TOKEN variable to a token with access to @uconn-its (Found in LastPass under ITS WebDev -- NPM/uconn-its NPM Access Token).
  3. Increment the package version by either manually changing the package.json file or running npm version <major/minor/patch>.
  4. Publish the package to the registry by running npm publish. (Note: If you get a 404 error, simply run npm publish again.)

License

GPL-3.0

1.1.0

9 months ago

1.0.4

11 months ago