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 Transformations

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(<<argument1>>, FunctionTwo(<<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 Descrição
Apêndice 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.
Número A função Item retorna um item de uma cadeia de caracteres/atributo de vários valores.
Junte-se a 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 um separador cadeia de caracteres.
Esquerda A função Left retorna um número especificado de caracteres da esquerda de uma cadeia de caracteres.
Meio 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.
Não Inverte o valor booleano da fonte . Se valor fonte 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.
Substituir 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.
Mudar Quando valor de de origem corresponde a uma chave , retorna valor para essa chave .
ToLower Pega um origem valor de cadeia de caracteres e o converte em minúsculas usando as regras de cultura especificadas.
ToUpper Pega um origem valor de cadeia de caracteres e o converte em maiúsculas usando as regras de cultura especificadas.
Guarnição 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.

Anexar

Função:
Append(fonte, sufixo)

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

Parâmetros:

Designação Obrigatório/ Repetindo Tipo Observações
fonte Necessário Cordão Normalmente, o nome do atributo do objeto de origem.
sufixo Necessário Cordão A cadeia de caracteres que você deseja acrescentar ao final do valor de origem.

BitAnd

Descrição:
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 valor1 e valor2 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)
Devolve 7 porque os hexadecimais "F" E "F7" avaliam este valor.


CBool

Descrição:
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

Descrição:
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

Descrição:
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

Descrição:
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


Contagem

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

Sintaxe:
num Count(mvstr attribute)


CStr

Descrição:
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

Descrição:
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

Descrição:
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

Descrição:
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)

Descrição:
Pega uma cadeia de caracteres de data de um formato e a converte em um formato diferente.

Parâmetros:

Designação Obrigatório/ Repetindo Tipo Observações
fonte Necessário Cordão Normalmente, o nome do atributo do objeto de origem.
inputFormat Necessário Cordão Formato esperado do valor de origem. Para formatos suportados, consulte /dotnet/standard/base-types/custom-date-and-time-format-strings.
outputFormat Necessário Cordão Formato da data de saída.

Guia

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

Sintaxe:
str Guid()


IIF

Descrição:
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, retorna 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

Descrição:
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")
Avalia até 5

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


IsNull

Descrição:
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

Descrição:
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

Descrição:
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])


Número

Descrição:
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

Descrição:
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.


Aderir

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

Descrição:
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 um separador cadeia de caracteres.

Se um dos valores de origem for um atributo de vários valores, todos os valores desse atributo serão unidos, separados pelo valor separador.

Parâmetros:

Designação Obrigatório/ Repetindo Tipo Observações
separador Necessário Cordão 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 Cordão Valores de cadeia de caracteres a serem unidos.

Esquerda

Descrição:
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)
Devolve Joh.


Média

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

Descrição:
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:

Designação Obrigatório/ Repetindo Tipo Observações
fonte Necessário Cordão Geralmente nome do atributo.
começar Necessário inteiro Índice na fonte cadeia de caracteres 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.
comprimento Necessário inteiro Comprimento da substring. Se o comprimento terminar fora da cadeia de de origem, a função retornará a substring de início índice até o final de cadeia de caracteres de de origem.

NormalizeDiacritics

Função:
NormalizeDiacritics(fonte)

Descrição:
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:

Designação Obrigatório/ Repetindo Tipo Observações
fonte Necessário Cordão Geralmente um atributo de nome ou sobrenome.

Não

Função:
Não (fonte)

Descrição:
Inverte o valor booleano da fonte . Se valor fonte for "True", retornará "False". Caso contrário, retorna "True".

Parâmetros:

Designação Obrigatório/ Repetindo Tipo Observações
fonte Necessário Corda Booleana Os valores esperados de origem são "True" ou "False".

RemoveDuplicates

Descrição:
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.


Substituir

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

Descrição:
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 no de origem por replacementValue
  • Quando oldValue e modelo são fornecidos:

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

    • A função aplica o regexPattern à cadeia de 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 de origem e substitui todos os valores correspondentes regexGroupName por replacementValue
  • Quando regexPattern, regexGroupName, replacementAttributeName são fornecidos:

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

Parâmetros:

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

SelectUniqueValue

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

Descrição:
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.

Observação

  • 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:

Designação Obrigatório/ Repetindo Tipo Observações
uniqueValueRule1 ... uniqueValueRuleN São necessários pelo menos 2, sem limite superior Cordão Lista de regras exclusivas de geração de valor a avaliar.

SingleAppRoleAssignment

Função:
SingleAppRoleAssignment([appRoleAssignments])

Descrição:
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:

Designação Obrigatório/ Repetindo Tipo Observações
[appRoleAssignments] Necessário Cordão [appRoleAssignments] objeto.

Divisão

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

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

Parâmetros:

Designação Obrigatório/ Repetindo Tipo Observações
fonte Necessário Cordão fonte valor a ser atualizado.
delimitador Necessário Cordão Especifica o caractere que será usado para dividir a cadeia de caracteres (exemplo: ",")

StringFromSid

Descrição:
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)

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

Parâmetros:

Designação Obrigatório/ Repetindo Tipo Observações
fonte Necessário Cordão fonte valor a ser atualizado.

Mudar

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

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

Parâmetros:

Designação Obrigatório/ Repetindo Tipo Observações
fonte Necessário Cordão Origem valor a verificar.
defaultValue Opcional Cordão Valor padrão a ser usado quando a origem não corresponde a nenhuma chave. Pode ser string vazia ("").
chave Necessário Cordão Chave comparar valor de origem.
valor Necessário Cordão O valor de substituição para a origem correspondente à chave.

ToLower

Função:
ToLower (fonte, cultura)

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

Parâmetros:

Designação Obrigatório/ Repetindo Tipo Observações
fonte Necessário Cordão Normalmente, o nome do atributo do objeto de origem
cultura Opcional Cordão 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. Os 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)

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

Parâmetros:

Designação Obrigatório/ Repetindo Tipo Observações
fonte Necessário Cordão Normalmente, o nome do atributo do objeto de origem.
cultura Opcional Cordão 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. Os 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.

Guarnição

Descrição:
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.


Palavra

Descrição:
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 number < 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:

Expressão:
Replace([mail], "@contoso.com", , ,"", ,)

Exemplo 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.

Expressão:
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.

Expressão:
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.

Expressão:
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.

Expressão:
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.

Expressão:

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

Amostra de entrada/saída:

  • DE ENTRADA (extensionAttribute1): "20150123105347.1Z"
  • PRODUÇÃ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".

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

Amostra de entrada/saída:

  • ENTRADA (estado): "QLD"
  • OUTPUT: "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.

Expressão:

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:

  • DE ENTRADA (PreferredFirstName): "John"
  • DE ENTRADA (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.

Expressão:

    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:

  • DE ENTRADA (PreferredFirstName): "John"
  • DE ENTRADA (PreferredLastName): "Smith"
  • SAÍDA: "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