Partilhar via


Escrevendo expressões para mapeamentos de atributos no Microsoft Entra ID

Quando você configura a sincronização na nuvem, um dos tipos de mapeamentos de atributos que você pode especificar é um mapeamento de expressão.

O mapeamento de expressão permite personalizar atributos usando uma expressão semelhante a um script. Isso permite que você transforme os dados locais em um valor novo ou diferente. Por exemplo, você pode querer combinar dois atributos em um único atributo porque esse único atributo é usado por um de seus aplicativos na nuvem.

O documento a seguir abordará as expressões semelhantes a scripts usadas para transformar os dados. Esta é apenas uma parte do processo. Em seguida, você precisará usar essa expressão e colocá-la em uma solicitação da Web para seu locatário. Para obter mais informações sobre isso, consulte Transformações

Visão geral da sintaxe

A sintaxe para expressões para mapeamentos de atributo é uma reminiscência de funções do Visual Basic for Applications (VBA).

  • Toda a expressão deve ser definida em termos de funções, que consistem em um nome seguido de argumentos entre parênteses:
    NomedaFunção(<<argument 1>>,<<argument N>>)

  • Você pode aninhar funções umas nas outras. Por exemplo:
    FunctionOne(FunctionTwo(<<argument1>>))

  • Você pode passar três tipos diferentes de argumentos para funções:

    1. Atributos, que devem ser colocados entre colchetes. Por exemplo: [attributeName]
    2. Constantes de cadeia de caracteres, que devem ser colocadas entre aspas duplas. Por exemplo: "Estados Unidos"
    3. Outras Funções. Por exemplo: FunctionOne(, FunctionTwo(<<argument1>><<argument2>>))
  • Para constantes de cadeia de caracteres, se você precisar de uma barra invertida ( \ ) ou aspas ( " ) na cadeia de caracteres, ela deverá ser escapada com o símbolo de barra invertida ( \ ). Por exemplo: "Nome da empresa: \"Contoso\""

Lista de funções

Lista de funções Description
Acrescentar Pega um valor de cadeia de caracteres de origem e acrescenta o sufixo ao final dele.
BitAnd A função BitAnd define bits especificados em um valor.
CBool A função CBool retorna um booleano com base na expressão avaliada
ConvertFromBase64 A função ConvertFromBase64 converte o valor codificado base64 especificado em uma cadeia de caracteres regular.
ConvertToBase64 A função ConvertToBase64 converte uma cadeia de caracteres em uma cadeia de caracteres Unicode base64.
ConvertToUTF8Hex A função ConvertToUTF8Hex converte uma cadeia de caracteres em um valor codificado em UTF8 Hex.
Contagem A função Count retorna o número de elementos em um atributo de vários valores
Cstr A função CStr converte em um tipo de dados de cadeia de caracteres.
DateFromNum A função DateFromNum converte um valor no formato de data do AD em um tipo DateTime.
DNComponent A função DNComponent retorna o valor de um componente DN especificado indo da esquerda.
Erro A função Error é usada para retornar um erro personalizado.
FormatDateTime Pega uma cadeia de caracteres de data de um formato e a converte em um formato diferente.
GUID A função Guid gera um novo GUID aleatório.
IIF A função IIF retorna um de um conjunto de valores possíveis com base em uma condição especificada.
InStr A função InStr localiza a primeira ocorrência de uma substring em uma cadeia de caracteres.
IsNull Se a expressão for avaliada como Null, a função IsNull retornará true.
IsNullOrEmpty Se a expressão for nula ou uma cadeia de caracteres vazia, a função IsNullOrEmpty retornará true.
IsPresent Se a expressão for avaliada como uma cadeia de caracteres que não é Nula e não está vazia, a função IsPresent retornará true.
IsString Se a expressão puder ser avaliada para um tipo de cadeia de caracteres, a função IsString será avaliada como True.
Item A função Item retorna um item de uma cadeia de caracteres/atributo de vários valores.
Join Join() é semelhante a Append(), exceto que ele pode combinar vários valores de cadeia de caracteres de origem em uma única cadeia de caracteres, e cada valor será separado por uma cadeia de caracteres separadora.
Left A função Left retorna um número especificado de caracteres da esquerda de uma cadeia de caracteres.
Mid Retorna uma substring do valor de origem. Uma substring é uma cadeia de caracteres que contém apenas alguns dos caracteres da cadeia de caracteres de origem.
NormalizeDiacritics Requer um argumento de cadeia de caracteres. Retorna a cadeia de caracteres, mas com todos os caracteres diacríticos substituídos por caracteres não diacríticos equivalentes.
Not Inverte o valor booleano da fonte. Se o valor de origem for "True", retornará "False". Caso contrário, retorna "True".
RemoveDuplicates A função RemoveDuplicates usa uma cadeia de caracteres de vários valores e certifique-se de que cada valor seja exclusivo.
Replace Substitui valores dentro de uma cadeia de caracteres.
SelectUniqueValue Requer um mínimo de dois argumentos, que são regras de geração de valor exclusivas definidas usando expressões. A função avalia cada regra e, em seguida, verifica o valor gerado quanto à exclusividade no aplicativo/diretório de destino.
SingleAppRoleAssignment Retorna um único appRoleAssignment da lista de todos os appRoleAssignments atribuídos a um usuário para um determinado aplicativo.
Dividida Divide uma cadeia de caracteres em uma matriz de vários valores, usando o caractere delimitador especificado.
StringFromSID A função StringFromSid converte uma matriz de bytes contendo um identificador de segurança em uma cadeia de caracteres.
Espaços StripSpaces Remove todos os caracteres de espaço (" ") da cadeia de caracteres de origem.
Switch Quando o valor de origem corresponde a uma chave, retorna o valor dessa chave.
ToLower Pega um valor de cadeia de caracteres de origem e o converte em minúsculas usando as regras de cultura especificadas.
ToUpper Pega um valor de cadeia de caracteres de origem e o converte em maiúsculas usando as regras de cultura especificadas.
Trim A função Trim remove espaços em branco à esquerda e à direita de uma cadeia de caracteres.
Palavra A função Word retorna uma palavra contida em uma cadeia de caracteres, com base em parâmetros que descrevem os delimitadores a serem usados e o número da palavra a ser retornado.

Acrescentar

Função:
Append(fonte, sufixo)

Description:
Pega um valor de cadeia de caracteres de origem e acrescenta o sufixo ao final dele.

Parâmetros:

Nome Obrigatório/ Repetindo Type Notas
fonte Necessário String Normalmente, o nome do atributo do objeto de origem.
sufixo Necessário String A cadeia de caracteres que você deseja acrescentar ao final do valor de origem.

BitAnd

Description:
A função BitAnd define bits especificados em um valor.

Sintaxe:
num BitAnd(num value1, num value2)

  • value1, value2: valores numéricos que devem ser AND'ed juntos

Observações:
Esta função converte ambos os parâmetros para a representação binária e define um pouco para:

  • 0 - se um ou ambos os bits correspondentes em value1 e value2 forem 0
  • 1 - se ambos os bits correspondentes forem 1.

Em outras palavras, ele retorna 0 em todos os casos, exceto quando os bits correspondentes de ambos os parâmetros são 1.

Exemplo:

BitAnd(&HF, &HF7)
Retorna 7 porque os hexadecimais "F" E "F7" avaliam esse valor.


CBool

Description:
A função CBool retorna um booleano com base na expressão avaliada

Sintaxe:
bool CBool(exp Expression)

Observações:
Se a expressão for avaliada como um valor diferente de zero, o CBool retornará True, caso contrário, retornará False.

Exemplo:
CBool([attrib1] = [attrib2])

Retorna True se ambos os atributos tiverem o mesmo valor.


ConvertFromBase64

Description:
A função ConvertFromBase64 converte o valor codificado base64 especificado em uma cadeia de caracteres regular.

Sintaxe:
str ConvertFromBase64(str source) - assume Unicode para codificação
str ConvertFromBase64(str source, enum Encoding)

  • fonte: Cadeia codificada em Base64
  • Codificação: Unicode, ASCII, UTF8

Exemplo
ConvertFromBase64("SABlAGwAbABvACAAdwBvAHIAbABkACEA")
ConvertFromBase64("SGVsbG8gd29ybGQh", UTF8)

Ambos os exemplos retornam "Olá mundo!"


ConvertToBase64

Description:
A função ConvertToBase64 converte uma cadeia de caracteres em uma cadeia de caracteres Unicode base64.
Converte o valor de uma matriz de inteiros em sua representação de cadeia de caracteres equivalente que é codificada com dígitos de base 64.

Sintaxe:
str ConvertToBase64(str source)

Exemplo:
ConvertToBase64("Hello world!")
Devolve "SABlAGwAbABvACAAdwBvAHIAbABkACEA"


ConvertToUTF8Hex

Description:
A função ConvertToUTF8Hex converte uma cadeia de caracteres em um valor codificado em UTF8 Hex.

Sintaxe:
str ConvertToUTF8Hex(str source)

Observações:
O formato de saída desta função é usado pelo Microsoft Entra ID como formato de atributo DN.

Exemplo:
ConvertToUTF8Hex("Hello world!")
Devolve 48656C6C6F20776F726C6421


Count

Description:
A função Count retorna o número de elementos em um atributo de vários valores

Sintaxe:
num Count(mvstr attribute)


CStr

Description:
A função CStr converte em um tipo de dados de cadeia de caracteres.

Sintaxe:
str CStr(num value)
str CStr(ref value)
str CStr(bool value)

  • value: Pode ser um valor numérico, atributo de referência ou booleano.

Exemplo:
CStr([dn])
Pode retornar "cn=Joe,dc=contoso,dc=com"


DateFromNum

Description:
A função DateFromNum converte um valor no formato de data do AD em um tipo DateTime.

Sintaxe:
dt DateFromNum(num value)

Exemplo:
DateFromNum([lastLogonTimestamp])
DateFromNum(129699324000000000)
Devolve um DateTime que representa 2012-01-01 23:00:00


DNComponent

Description:
A função DNComponent retorna o valor de um componente DN especificado indo da esquerda.

Sintaxe:
str DNComponent(ref dn, num ComponentNumber)

  • DN: O atributo de referência a ser interpretado
  • ComponentNumber: O componente no DN a ser retornado

Exemplo:
DNComponent(CRef([dn]),1)
Se dn for "cn=Joe,ou=...", ele retornará Joe


Erro

Description:
A função Error é usada para retornar um erro personalizado.

Sintaxe:
void Error(str ErrorMessage)

Exemplo:
IIF(IsPresent([accountName]),[accountName],Error("AccountName is required"))
Se o atributo accountName não estiver presente, lance um erro no objeto.


FormatDateTime

Função:
FormatDateTime(fonte, inputFormat, outputFormat)

Description:
Pega uma cadeia de caracteres de data de um formato e a converte em um formato diferente.

Parâmetros:

Nome Obrigatório/ Repetindo Type Notas
fonte Necessário String Normalmente, o nome do atributo do objeto de origem.
inputFormat Necessário String Formato esperado do valor de origem. Para formatos suportados, consulte /dotnet/standard/base-types/custom-date-and-time-format-strings.
outputFormat Necessário String Formato da data de saída.

GUID

Description:
A função Guid gera um novo GUID aleatório

Sintaxe:
str Guid()


IIF

Description:
A função IIF retorna um de um conjunto de valores possíveis com base em uma condição especificada.

Sintaxe:
var IIF(exp condition, var valueIfTrue, var valueIfFalse)

  • condição: qualquer valor ou expressão que possa ser avaliada como verdadeiro ou falso.
  • valueIfTrue: Se a condição for avaliada como true, o valor retornado.
  • valueIfFalse: Se a condição for avaliada como false, o valor retornado.

Exemplo:
IIF([employeeType]="Intern","t-" & [alias],[alias])
Se o usuário for um estagiário, retornará o alias de um usuário com "t-" adicionado ao início dele, caso contrário, retornará o alias do usuário como está.


InStr

Description:
A função InStr localiza a primeira ocorrência de uma substring em uma string

Sintaxe:

num InStr(str stringcheck, str stringmatch)
num InStr(str stringcheck, str stringmatch, num start)
num InStr(str stringcheck, str stringmatch, num start, enum compare)

  • stringcheck: string a ser pesquisada
  • stringmatch: string a ser encontrada
  • start: posição inicial para encontrar a substring
  • compare: vbTextCompare ou vbBinaryCompare

Observações:
Retorna a posição onde a substring foi encontrada ou 0 se não for encontrada.

Exemplo:
InStr("The quick brown fox","quick")
Valores até 5

InStr("repEated","e",3,vbBinaryCompare)
Avalia até 7


IsNull

Description:
Se a expressão for avaliada como Null, a função IsNull retornará true.

Sintaxe:
bool IsNull(var Expression)

Observações:
Para um atributo, um Null é expresso pela ausência do atributo.

Exemplo:
IsNull([displayName])
Retorna True se o atributo não estiver presente no CS ou MV.


IsNullOrEmpty

Description:
Se a expressão for nula ou uma cadeia de caracteres vazia, a função IsNullOrEmpty retornará true.

Sintaxe:
bool IsNullOrEmpty(var Expression)

Observações:
Para um atributo, isso avaliaria como True se o atributo está ausente ou está presente, mas é uma cadeia de caracteres vazia.
O inverso desta função é chamado IsPresent.

Exemplo:
IsNullOrEmpty([displayName])
Retorna True se o atributo não estiver presente ou for uma cadeia de caracteres vazia no CS ou MV.


IsPresent

Description:
Se a expressão for avaliada como uma cadeia de caracteres que não é Nula e não está vazia, a função IsPresent retornará true.

Sintaxe:
bool IsPresent(var expression)

Observações:
O inverso dessa função é chamado IsNullOrEmpty.

Exemplo:
Switch(IsPresent([directManager]),[directManager], IsPresent([skiplevelManager]),[skiplevelManager], IsPresent([director]),[director])


Item

Description:
A função Item retorna um item de uma cadeia de caracteres/atributo de vários valores.

Sintaxe:
var Item(mvstr attribute, num index)

  • Atributo: Atributo de vários valores
  • índice: índice para um item na cadeia de caracteres de vários valores.

Observações:
A função Item é útil juntamente com a função Contains uma vez que esta última função retorna o índice para um item no atributo de vários valores.

Lança um erro se o índice estiver fora dos limites.

Exemplo:
Mid(Item([proxyAddresses],Contains([proxyAddresses], "SMTP:")),6)
Retorna o endereço de e-mail principal.


IsString

Description:
Se a expressão puder ser avaliada para um tipo de cadeia de caracteres, a função IsString será avaliada como True.

Sintaxe:
bool IsString(var expression)

Observações:
Usado para determinar se CStr() pode ser bem-sucedido para analisar a expressão.


Participar

Função:
Junção (separador, fonte1, fonte2, ...)

Description:
Join() é semelhante a Append(), exceto que ele pode combinar vários valores de cadeia de caracteres de origem em uma única cadeia de caracteres, e cada valor será separado por uma cadeia de caracteres separadora.

Se um dos valores de origem for um atributo de vários valores, cada valor nesse atributo será unido, separado pelo valor do separador.

Parâmetros:

Nome Obrigatório/ Repetindo Type Notas
separador Necessário String String usada para separar valores de origem quando eles são concatenados em uma cadeia de caracteres. Pode ser "" se nenhum separador for necessário.
fonte1 ... fonteN Número de vezes obrigatório e variável String Valores de cadeia de caracteres a serem unidos.

Left

Description:
A função Left retorna um número especificado de caracteres da esquerda de uma cadeia de caracteres.

Sintaxe:
str Left(str string, num NumChars)

  • string: a cadeia de caracteres da qual retornar caracteres
  • NumChars: um número que identifica o número de caracteres a serem retornados do início (à esquerda) da cadeia de caracteres

Observações:
Uma cadeia de caracteres que contém os primeiros caracteres numChars na cadeia de caracteres:

  • Se numChars = 0, retorne a cadeia de caracteres vazia.
  • Se numChars 0, retorne a cadeia de caracteres de < entrada.
  • Se string for null, retorne string vazia.

Se string contiver menos caracteres do que o número especificado em numChars, uma string idêntica a string (ou seja, contendo todos os caracteres no parâmetro 1) será retornada.

Exemplo:
Left("John Doe", 3)
Devoluções Joh.


Mid

Função:
Meio (fonte, início, comprimento)

Description:
Retorna uma substring do valor de origem. Uma substring é uma cadeia de caracteres que contém apenas alguns dos caracteres da cadeia de caracteres de origem.

Parâmetros:

Nome Obrigatório/ Repetindo Type Notas
fonte Necessário String Geralmente nome do atributo.
start Necessário integer Índice na cadeia de caracteres de origem onde a substring deve começar. O primeiro caractere na cadeia de caracteres terá índice de 1, o segundo caractere terá índice 2 e assim por diante.
length Necessário integer Comprimento da substring. Se o comprimento terminar fora da cadeia de caracteres de origem, a função retornará a substring do índice inicial até o final da cadeia de caracteres de origem.

NormalizeDiacritics

Função:
NormalizeDiacritics(fonte)

Description:
Requer um argumento de cadeia de caracteres. Retorna a cadeia de caracteres, mas com todos os caracteres diacríticos substituídos por caracteres não diacríticos equivalentes. Normalmente usado para converter nomes e sobrenomes contendo caracteres diacríticos (acentos) em valores legais que podem ser usados em vários identificadores de usuário, como nomes principais de usuário, nomes de contas SAM e endereços de e-mail.

Parâmetros:

Nome Obrigatório/ Repetindo Type Notas
fonte Necessário String Geralmente um atributo de nome ou sobrenome.

Not

Função:
Não (fonte)

Description:
Inverte o valor booleano da fonte. Se o valor de origem for "True", retornará "False". Caso contrário, retorna "True".

Parâmetros:

Nome Obrigatório/ Repetindo Type Notas
fonte Necessário Corda Booleana Os valores de origem esperados são "True" ou "False".

RemoveDuplicates

Description:
A função RemoveDuplicates usa uma cadeia de caracteres de vários valores e certifique-se de que cada valor seja exclusivo.

Sintaxe:
mvstr RemoveDuplicates(mvstr attribute)

Exemplo:
RemoveDuplicates([proxyAddresses])
Retorna um atributo proxyAddress limpo onde todos os valores duplicados foram removidos.


Replace

Função:
Replace(source, oldValue, regexPattern, regexGroupName, replacementValue, replacementAttributeName, template)

Description:
Substitui valores dentro de uma cadeia de caracteres. Ele funciona de forma diferente dependendo dos parâmetros fornecidos:

  • Quando oldValue e replacementValue são fornecidos:

    • Substitui todas as ocorrências de oldValue na origem por replacementValue
  • Quando oldValue e template são fornecidos:

    • Substitui todas as ocorrências do oldValue no modelo pelo valor de origem
  • Quando regexPattern e replacementValue são fornecidos:

    • A função aplica o regexPattern à cadeia de caracteres de origem e você pode usar os nomes do grupo regex para construir a cadeia de caracteres para replacementValue
  • Quando regexPattern, regexGroupName, replacementValue são fornecidos:

    • A função aplica o regexPattern à cadeia de caracteres de origem e substitui todos os valores correspondentes a regexGroupName por replacementValue
  • Quando regexPattern, regexGroupName, replacementAttributeName são fornecidos:

    • Se source não tiver valor, source será retornado
    • Se source tiver um valor, a função aplicará o regexPattern à cadeia de caracteres de origem e substituirá todos os valores correspondentes a regexGroupName pelo valor associado a replacementAttributeName

Parâmetros:

Nome Obrigatório/ Repetindo Type Notas
fonte Necessário String Normalmente, o nome do atributo do objeto de origem .
oldValue Opcional String Valor a ser substituído na fonte ou modelo.
regexPattern Opcional String Padrão Regex para o valor a ser substituído na origem. Ou, quando replacementPropertyName é usado, padrão para extrair valor de replacementPropertyName.
regexGroupName Opcional String Nome do grupo dentro de regexPattern. Somente quando replacementPropertyName for usado, extrairemos o valor desse grupo como replacementValue de replacementPropertyName.
substituiçãoValor Opcional String Novo valor para substituir o antigo.
replacementAttributeName Opcional String Nome do atributo a ser usado para o valor de substituição
aninhado Opcional String Quando o valor do modelo é fornecido, procuraremos por oldValue dentro do modelo e o substituiremos pelo valor de origem.

SelectUniqueValue

Função:
SelectUniqueValue(uniqueValueRule1, uniqueValueRule2, uniqueValueRule3, ...)

Description:
Requer um mínimo de dois argumentos, que são regras de geração de valor exclusivas definidas usando expressões. A função avalia cada regra e, em seguida, verifica o valor gerado quanto à exclusividade no aplicativo/diretório de destino. O primeiro valor único encontrado será o devolvido. Se todos os valores já existirem no destino, a entrada será depositada e o motivo será registrado nos logs de auditoria. Não existe um limite superior para o número de argumentos que podem ser fornecidos.

Nota

  • Esta é uma função de nível superior, não pode ser aninhada.
  • Esta função não pode ser aplicada a atributos que têm uma precedência correspondente.
  • Esta função destina-se apenas a ser usada para criações de entrada. Ao usá-lo com um atributo, defina a propriedade Apply Mapping como Somente durante a criação do objeto.
  • Atualmente, essa função é suportada apenas para "Workday and SuccessFactors to Ative Directory User Provisioning". Ele não pode ser usado com outros aplicativos de provisionamento.

Parâmetros:

Nome Obrigatório/ Repetindo Type Notas
uniqueValueRule1 ... uniqueValueRuleN São necessários pelo menos 2, sem limite superior String Lista de regras exclusivas de geração de valor a avaliar.

SingleAppRoleAssignment

Função:
SingleAppRoleAssignment([appRoleAssignments])

Description:
Retorna um único appRoleAssignment da lista de todos os appRoleAssignments atribuídos a um usuário para um determinado aplicativo. Essa função é necessária para converter o objeto appRoleAssignments em uma única cadeia de caracteres de nome de função. Observe que a prática recomendada é garantir que apenas um appRoleAssignment seja atribuído a um usuário de cada vez e, se várias funções forem atribuídas, a cadeia de caracteres de função retornada pode não ser previsível.

Parâmetros:

Nome Obrigatório/ Repetindo Type Notas
[appRoleAssignments] Necessário String [appRoleAssignments] objeto.

Dividida

Função:
Divisão (fonte, delimitador)

Description:
Divide uma cadeia de caracteres em uma matriz de vários valores, usando o caractere delimitador especificado.

Parâmetros:

Nome Obrigatório/ Repetindo Type Notas
fonte Necessário String valor de origem a ser atualizado.
delimitador Necessário String Especifica o caractere que será usado para dividir a cadeia de caracteres (exemplo: ",")

StringFromSid

Description:
A função StringFromSid converte uma matriz de bytes contendo um identificador de segurança em uma cadeia de caracteres.

Sintaxe:
str StringFromSid(bin ObjectSID)


Espaços StripSpaces

Função:
StripSpaces(fonte)

Description:
Remove todos os caracteres de espaço (" ") da cadeia de caracteres de origem.

Parâmetros:

Nome Obrigatório/ Repetindo Type Notas
fonte Necessário String valor de origem a ser atualizado.

Switch

Função:
Switch(fonte, defaultValue, key1, value1, key2, value2, ...)

Description:
Quando o valor de origem corresponde a uma chave, retorna o valor dessa chave. Se o valor de origem não corresponder a nenhuma chave, retornará defaultValue. Os parâmetros chave e de valor devem sempre vir em pares. A função sempre espera um número par de parâmetros.

Parâmetros:

Nome Obrigatório/ Repetindo Type Notas
fonte Necessário String Valor de origem a verificar.
defaultValue Opcional String Valor padrão a ser usado quando a origem não corresponde a nenhuma chave. Pode ser string vazia ("").
key Necessário String Chave para comparar o valor de origem com.
valor Necessário String Valor de substituição para a origem correspondente à chave.

ToLower

Função:
ToLower (fonte, cultura)

Description:
Pega um valor de cadeia de caracteres de origem e o converte em minúsculas usando as regras de cultura especificadas. Se não houver nenhuma informação de cultura especificada, ela usará a cultura Invariante.

Parâmetros:

Nome Obrigatório/ Repetindo Type Notas
fonte Necessário String Normalmente, o nome do atributo do objeto de origem
cultura Opcional String O formato para o nome da cultura baseado no RFC 4646 é languagecode2-country/regioncode2, onde languagecode2 é o código de idioma de duas letras e country/regioncode2 é o código de subcultura de duas letras. Exemplos incluem ja-JP para japonês (Japão) e en-US para inglês (Estados Unidos). Nos casos em que não está disponível um código linguístico de duas letras, é utilizado um código de três letras derivado da norma ISO 639-2.

ToUpper

Função:
ToUpper(fonte, cultura)

Description:
Pega um valor de cadeia de caracteres de origem e o converte em maiúsculas usando as regras de cultura especificadas. Se não houver nenhuma informação de cultura especificada, ela usará a cultura Invariante.

Parâmetros:

Nome Obrigatório/ Repetindo Type Notas
fonte Necessário String Normalmente, o nome do atributo do objeto de origem.
cultura Opcional String O formato para o nome da cultura baseado no RFC 4646 é languagecode2-country/regioncode2, onde languagecode2 é o código de idioma de duas letras e country/regioncode2 é o código de subcultura de duas letras. Exemplos incluem ja-JP para japonês (Japão) e en-US para inglês (Estados Unidos). Nos casos em que não está disponível um código linguístico de duas letras, é utilizado um código de três letras derivado da norma ISO 639-2.

Trim

Description:
A função Trim remove espaços em branco à esquerda e à direita de uma cadeia de caracteres.

Sintaxe:
str Trim(str value)

Exemplo:
Trim(" Test ")
Devolve "Teste".

Trim([proxyAddresses])
Remove espaços à esquerda e à direita para cada valor no atributo proxyAddress.


Word

Description:
A função Word retorna uma palavra contida em uma cadeia de caracteres, com base em parâmetros que descrevem os delimitadores a serem usados e o número da palavra a ser retornado.

Sintaxe:
str Word(str string, num WordNumber, str delimiters)

  • string: a cadeia de caracteres da qual retornar uma palavra.
  • WordNumber: um número que identifica qual número de palavra deve retornar.
  • delimitadores: uma cadeia de caracteres que representa o(s) delimitador(es) que deve ser usado para identificar palavras

Observações:
Cada cadeia de caracteres em cadeia separada por um dos caracteres em delimitadores é identificada como palavras:

  • Se o número < 1, retorna a cadeia de caracteres vazia.
  • Se string for null, retorna string vazia.

Se string contiver menos de palavras numéricas ou string não contiver palavras identificadas por delimitadores, uma string vazia será retornada.

Exemplo:
Word("The quick brown fox",3," ")
Devolve "castanho"

Word("This,string!has&many separators",3,",!&#")
Voltaria "tem"

Exemplos

Retirar nome de domínio conhecido

Você precisa remover um nome de domínio conhecido do e-mail de um usuário para obter um nome de usuário.
Por exemplo, se o domínio for "contoso.com", você pode usar a seguinte expressão:

Expression:
Replace([mail], "@contoso.com", , ,"", ,)

Amostra de entrada/saída:

  • INPUT (correio): ""john.doe@contoso.com
  • SAÍDA: "john.doe"

Acrescentar sufixo constante ao nome de usuário

Se você estiver usando um Salesforce Sandbox, talvez seja necessário acrescentar um sufixo adicional a todos os seus nomes de usuário antes de sincronizá-los.

Expression:
Append([userPrincipalName], ".test")

Amostra de entrada/saída:

  • INPUT: (userPrincipalName): ""John.Doe@contoso.com
  • SAÍDA: ""John.Doe@contoso.com.test

Gerar alias de usuário concatenando partes do nome e sobrenome

Você precisa gerar um alias de usuário tomando as primeiras 3 letras do primeiro nome do usuário e as primeiras 5 letras do sobrenome do usuário.

Expression:
Append(Mid([givenName], 1, 3), Mid([surname], 1, 5))

Amostra de entrada/saída:

  • INPUT (givenName): "João"
  • INPUT (sobrenome): "Doe"
  • SAÍDA: "JohDoe"

Remover diacríticos de uma cadeia de caracteres

Você precisa substituir caracteres que contenham marcas de acento por caracteres equivalentes que não contenham marcas de acento.

Expression:
NormalizeDiacritics([givenName])

Amostra de entrada/saída:

  • INPUT (givenName): "Zoë"
  • SAÍDA: "Zoe"

Dividir uma cadeia de caracteres em uma matriz de vários valores

Você precisa pegar uma lista delimitada por vírgulas de cadeias de caracteres e dividi-las em uma matriz que possa ser conectada a um atributo de vários valores, como o atributo PermissionSets do Salesforce. Neste exemplo, uma lista de conjuntos de permissões foi preenchida em extensionAttribute5 no Microsoft Entra ID.

Expression:
Split([extensionAttribute5], ",")

Amostra de entrada/saída:

  • INPUT (extensionAttribute5): "PermissionSetOne, PermissionSetTwo"
  • SAÍDA: ["PermissionSetOne", "PermissionSetTwo"]

Data de saída como uma cadeia de caracteres em um determinado formato

Você deseja enviar datas para um aplicativo SaaS em um determinado formato.
Por exemplo, você deseja formatar datas para ServiceNow.

Expression:

FormatDateTime([extensionAttribute1], "yyyyMMddHHmmss.fZ", "yyyy-MM-dd")

Amostra de entrada/saída:

  • INPUT (extensionAttribute1): "20150123105347.1Z"
  • REALIZAÇÃO: "2015-01-23"

Substituir um valor com base em um conjunto predefinido de opções

Você precisa definir o fuso horário do usuário com base no código de estado armazenado no ID do Microsoft Entra.
Se o código de estado não corresponder a nenhuma das opções predefinidas, use o valor padrão de "Austrália/Sydney".

Expression:
Switch([state], "Australia/Sydney", "NSW", "Australia/Sydney","QLD", "Australia/Brisbane", "SA", "Australia/Adelaide")

Amostra de entrada/saída:

  • ENTRADA (estado): "QLD"
  • SAÍDA: "Austrália/Brisbane"

Substituir caracteres usando uma expressão regular

Você precisa encontrar caracteres que correspondam a um valor de expressão regular e removê-los.

Expression:

Substituir([mailNickname], , "[a-zA-Z_]*", , "", , )

Amostra de entrada/saída:

  • INPUT (mailNickname: "john_doe72"
  • SAÍDA: "72"

Converter o valor userPrincipalName (UPN) gerado em minúsculas

No exemplo abaixo, o valor UPN é gerado concatenando os campos de origem PreferredFirstName e PreferredLastName e a função ToLower opera na cadeia de caracteres gerada para converter todos os caracteres em minúsculas.

ToLower(Join("@", NormalizeDiacritics(StripSpaces(Join(".", [PreferredFirstName], [PreferredLastName]))), "contoso.com"))

Amostra de entrada/saída:

  • INPUT (PreferredFirstName): "João"
  • INPUT (PreferredLastName): "Smith"
  • SAÍDA: ""john.smith@contoso.com

Gerar valor exclusivo para o atributo userPrincipalName (UPN)

Com base no nome, nome do meio e sobrenome do usuário, você precisa gerar um valor para o atributo UPN e verificar sua exclusividade no diretório AD de destino antes de atribuir o valor ao atributo UPN.

Expression:

    SelectUniqueValue( 
        Join("@", NormalizeDiacritics(StripSpaces(Join(".",  [PreferredFirstName], [PreferredLastName]))), "contoso.com"), 
        Join("@", NormalizeDiacritics(StripSpaces(Join(".",  Mid([PreferredFirstName], 1, 1), [PreferredLastName]))), "contoso.com"),
        Join("@", NormalizeDiacritics(StripSpaces(Join(".",  Mid([PreferredFirstName], 1, 2), [PreferredLastName]))), "contoso.com")
    )

Amostra de entrada/saída:

  • INPUT (PreferredFirstName): "João"
  • INPUT (PreferredLastName): "Smith"
  • OUTPUT: ""John.Smith@contoso.com se o valor UPN de John.Smith@contoso.com ainda não existir no diretório
  • OUTPUT: ""J.Smith@contoso.com se o valor UPN de John.Smith@contoso.com já existir no diretório
  • OUTPUT: ""Jo.Smith@contoso.com se os dois valores UPN acima já existirem no diretório

Próximos passos