Beispiele für LDAP-Skripts

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 1 Minute Lesedauer
  • In den folgenden Skriptbeispielen wird davon ausgegangen, dass Sie Active Directory (AD) für Ihren LDAP-Server verwenden.

    userAccountControl Attributwerte Skript

    In diesem Beispiel wird die Quelle für die Attributwerte userAccountControl getestet, die einem deaktivierten Benutzer (514 oder 546) zugeordnet sind.
    //Deactivate LDAP-disabled users during transform based on 'userAccountControl' attribute
    if(source.u_useraccountcontrol == '514' || source.u_useraccountcontrol == '546'){
       target.active=false;
       target.locked_out=true;
    }

    Hier ein Beispiel mit einer Bit-weisen Prüfung:

    
    if(source.u_useraccountcontrol & 2){
       active = false;
    }
    

    userAccountControl-Attributskript

    In diesem Beispiel wird das Attribut userAccountControl untersucht, es wird jedoch nicht auf bestimmte Werte getestet. Sie enthält auch die Option zum erneuten Aktivieren von LDAP-Benutzerkonten.
    /*
    * Deactivate LDAP-disabled users during transform based on 'userAccountControl' attribute
    * Convert the userAccountControl attribute back to a hex value
    */
    var ctrl = parseInt(source.u_useraccountcontrol, 10);
    ctrl = ctrl.toString(16);
     
    /*
    * The only digit we care about is the final one
    * A final hex digit value of '2' in 'ctrl' means disabled
    */
    if(ctrl.substr(-1) == "2"){
     
       //Deactivate and lock the user account
       target.active = false;
       target.locked_out = true;
     
       //Ignore any insert of a disabled record
       if(action == 'insert'){
          ignore = true;
       }
    }
    /* Optional: Uncomment else block to reactivate and unlock the user account
    else {
       target.active = true;
       target.locked_out = ctrl.substr(-2, 1) == "1";
    }
    */

    onBefore-Transform Map-Skript

    Hier ist ein Beispiel für ein onBefore-Transformationszuordnungsskript. Das Skript identifiziert deaktivierte Datensätze und Datensätze, die eingefügt werden. Wenn eine Einfügung eines deaktivierten Benutzers erfolgt, ignoriert die Vorgangstransformation den Datensatz.
    //Ignore any insert of a disabled record as defined by the 'userAccountControl' attribute
    var uc = source.u_useraccountcontrol;
    if((uc == '514' || uc == '546') && action == 'insert'){
       ignore = true;
    }

    DN-Mitgliedsskript

    Dieses Skriptbeispiel bietet Flexibilität, indem nicht auf die Werte 546 und 514 userAccountControl zurückgegriffen wird, sondern stattdessen überprüft wird, ob der Benutzer Mitglied eines bestimmten Distinguished Name (DN) ist. Sie können dieses Skript entweder im Feld „ Skript “ des Datensatzes „Tabellentransformationszuordnung“ oder in einem onBefore-Transformationszuordnungsskript verwenden.
    //Deactivate LDAP-disabled users during transform based on OU membership in 'dn'
    if(source.u_dn.indexOf('OU=Disabled Accounts') > -1){
       target.active = false;
       target.locked_out = true;
    }