LDAP-Skriptbeispiele

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

    Attributwertskript für userAccountControl

    In diesem Beispiel wird die Quelle für die Attributwerte „userAccountControl“ getestet, die einem deaktivierten Anwender (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 ist ein Beispiel für eine Bitweise Prüfung:

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

    Attributskript userAccountControl

    In diesem Beispiel wird das Attribut userAccountControl untersucht, es wird jedoch nicht auf bestimmte Werte getestet. Sie enthält auch die Option zur erneuten Aktivierung von LDAP-Benutzeraccounts.
    /*
    * 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-Transformationszuordnungsskript

    Hier sehen Sie ein Beispiel für ein onBefore-Transformationszuordnungsskript. Das Skript identifiziert deaktivierte und eingefügte Datensätze. Wenn eine Einfügung eines deaktivierten Anwenders 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 userAccountControl-Werte 546 und 514 zurückgegriffen wird, sondern überprüft wird, ob der Anwender 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;
    }