LDAP-Skriptbeispiele
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;
}