---
sourceDocument: Segurança da plataforma Yokohama
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/pt-BR/yokohama/platform-security

 Release :

    - yokohama

ft:locale :

    - pt-BR

ft:publication_title :

    - Segurança da plataforma Yokohama

ft:clusterId :

    - psec

bundleId :

    - psec

workflow :

    - Platform


---

# Exemplos de script LDAP

# Exemplos de script LDAP {#ariaid-title1}

* Versão de lançamento: Yokohama
* 
* Atualizado 30 de jan. de 2025
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 1 min. de leitura

Os exemplos de script a seguir presumem que você usa um Active Directory (AD) para o servidor LDAP.

## Script de valores do atributo userAccountControl

Este exemplo testa a origem dos valores do atributo userAccountControl associados a um usuário desabilitado (514 ou 546).  

    //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;
    }

Este é um exemplo usando uma verificação de bits:  


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

## Script do atributo userAccountControl

Este exemplo examina o atributo userAccountControl, mas não testa valores específicos. Ele também contém a opção de reativação de contas de usuário LDAP.  

    /*
    * 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";
    }
    */

## Script do mapa de transformação onBefore

Este é um exemplo de um script do mapa de transformação onBefore. O script identifica registros desabilitados e que estão sendo inseridos. Se estiver ocorrendo uma inserção de um usuário desabilitado, a transformação da operação ignorará o registro.  

    //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;
    }

## Script de membro DN

Este exemplo de script apresenta flexibilidade ao não contar com os valores de userAccountControl 546 e 514, mas, em vez disso, verifica se o usuário é um membro de um Nome diferenciado (DN) específico. É possível usar este script no campo Script do registro "Mapa de transformação da tabela" ou em um script do mapa de transformações onBefore.  

    //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;
    }


