Function: Active Directory Field Functions – Base – AD OrganizationalUnit – Get, Set and Add

by Simon Sparks · 5 January 2026

To use this function add it to the class library file named OrchestratorPluginADService.ts

GitHub Repository: https://github.com/SimonSparksUK/Orchestrator

Filename: OrchestratorPluginADService.ts

Private Function: ADOrganizationalUnitGetAttribute

private ADOrganizationalUnitGetAttribute<T>(objADOrganizationalUnit: AD_OrganizationalUnit, strADOrganizationalUnitAttributeName: string): T {

    let strADOrganizationalUnitName: string = this.ADOrganizationalUnitGetAttribute(objADOrganizationalUnit, "name");

    this.objLogger.info(`Getting AD Organizational Unit ${strADOrganizationalUnitName} Attribute '${strADOrganizationalUnitAttributeName}'.`);

    let anyADOrganizationalUnitAttribute: T = objADOrganizationalUnit.getAttribute(strADOrganizationalUnitAttributeName) as T;

    return anyADOrganizationalUnitAttribute;
}

Private Function: ADOrganizationalUnitSetAttribute

private ADOrganizationalUnitSetAttribute<T>(objADOrganizationalUnit: AD_OrganizationalUnit, strADOrganizationalUnitAttributeName: string, anyADOrganizationalUnitAttributeValue: T): boolean {

    let strADOrganizationalUnitName: string = this.ADOrganizationalUnitGetAttribute(objADOrganizationalUnit, "name");

    this.objLogger.info(`Setting AD Organizational Unit Attribute '${strADOrganizationalUnitAttributeName}' with value '${anyADOrganizationalUnitAttributeValue.toString()}'.`);

    try {
        objADOrganizationalUnit.setAttribute(strADOrganizationalUnitAttributeName, anyADOrganizationalUnitAttributeValue);

        return true;
    }
    catch (objException) {
        this.objLogger.error(`Failed to set attribute '${strADOrganizationalUnitAttributeName}=${anyADOrganizationalUnitAttributeValue.toString()}' for User Group ${strADOrganizationalUnitName}\n\t${objException}`);

        return false;
    }
}

Private Function: ADOrganizationalUnitAddAttribute

private ADOrganizationalUnitAddAttribute<T>(objADOrganizationalUnit: AD_OrganizationalUnit, strADOrganizationalUnitAttributeName: string, anyADOrganizationalUnitAttributeValue: T): boolean {

    let strADOrganizationalUnitName: string = this.ADOrganizationalUnitGetAttribute(objADOrganizationalUnit, "name");

    this.objLogger.info(`Adding AD Organizational Unit Attribute '${strADOrganizationalUnitAttributeName}' with value '${anyADOrganizationalUnitAttributeValue.toString()}'.`);

    try {
        objADOrganizationalUnit.addAttribute(strADOrganizationalUnitAttributeName, anyADOrganizationalUnitAttributeValue);

        return true;
    }
    catch (objException) {
        this.objLogger.error(`Failed to add attribute '${strADOrganizationalUnitAttributeName}=${anyADOrganizationalUnitAttributeValue.toString()}' for User Group ${strADOrganizationalUnitName}\n\t${objException}`);

        return false;
    }
}

Discover more from Cloud Build Tools

Subscribe to get the latest posts sent to your email.

You may also like