Compartilhar via


Escrevendo expressões para mapeamentos de atributos na ID do Microsoft Entra

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

O mapeamento de expressão permite que você personalize atributos usando uma expressão do tipo script. Isso permite transformar os dados locais em um valor novo ou diferente. Por exemplo, talvez você queira combinar dois atributos em um único atributo porque esse único atributo é usado por um dos seus aplicativos de nuvem.

O documento a seguir abordará as expressões do script que são usadas para transformar os dados. Isso é apenas 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, confira Transformações

Visão geral da sintaxe

A sintaxe de expressões para mapeamentos de atributos é semelhante à das funções de VBA (Visual Basic for Applications).

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

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

  • Você pode passar três tipos diferentes de argumentos em 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 deve 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
Append seleciona um valor da cadeia de caracteres de source e acrescenta o sufixo ao final dela.
BitAnd a função BitAnd define os bits especificados em um valor.
CBool a função CBool retorna um valor booliano 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 em base64.
ConvertToUTF8Hex a função ConvertToUTF8Hex converte uma cadeia de caracteres em um valor codificado em UTF8 hexadecimal.
Count a função Count retorna o número de elementos em um atributo de valores múltiplos
CStr a função CStr converte em um tipo de dados da 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 saindo da esquerda.
Erro a função Error é usada para retornar um erro personalizado.
FormatDateTime obtém 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 valor 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 é Null nem vazia, a função IsPresent retornará true.
IsString se a expressão puder ser avaliada como um tipo de cadeia de caracteres, a função IsString será avaliada como True.
Item a função Item retorna um item de um atributo/cadeia de caracteres de valores múltiplos.
Join Join() é semelhante a Append(), exceto que 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 de separador.
Left a função Left retorna um número especificado de caracteres a partir da esquerda de uma cadeia de caracteres.
Mid retorna uma subcadeia de caracteres do valor de source. Uma subcadeia de caracteres é uma cadeia de caracteres que contém apenas alguns dos caracteres da cadeia de caracteres de source.
NormalizeDiacritics Requer um argumento de cadeia de caracteres. Retorna a cadeia de caracteres, mas com nenhum dos caracteres diacríticos substituídos por caracteres não diacríticas equivalentes.
Not Inverte o valor booliano da origem. Se o valor da origem for "True", retorna "False". Caso contrário, diferente, retorna "True".
RemoveDuplicates a função RemoveDuplicates obtém uma cadeia de caracteres de valores múltiplos e verifica se cada valor é exclusivo.
Substituir substitui valores dentro de uma cadeia de caracteres.
SelectUniqueValue Requer um mínimo de dois argumentos, que são definidas usando expressões de regras de geração de valor exclusivo. A função avalia cada regra e, em seguida, verifica o valor gerado para exclusividade no aplicativo/diretório de destino.
SingleAppRoleAssignment Retorna um único appRoleAssignment da lista de todos os appRoleAssignments atribuída a um usuário para um determinado aplicativo.
Split Divide uma cadeia de caracteres em uma matriz com vários valores, usando o caractere delimitador especificado.
StringFromSID a função StringFromSid converte uma matriz de bytes, que contém um identificador de segurança, em uma cadeia de caracteres.
StripSpaces remove todos os caracteres de espaço (" ") da caracteres da cadeia de source.
Switch Quando o valor da origem corresponde a uma chave, retorna o valor dessa chave.
ToLower Usa um valor de cadeia de caracteres de origem e o converte em letras minúsculas usando as regras de cultura especificadas.
ToUpper Usa um valor de cadeia de caracteres de origem e o converte em letras maiúsculas usando as regras de cultura especificadas.
Trim a função Trim remove os espaços em branco à esquerda e à direita de uma cadeia de caracteres.
Word a função Word retorna uma palavra contida em uma cadeia de caracteres com base nos parâmetros que descrevem os delimitadores a serem usados e o número de palavras a serem retornadas.

Acrescentar

Função:
Append(source, suffix)

Descrição:
seleciona um valor da cadeia de caracteres de source e acrescenta o sufixo ao final dela.

Parâmetros:

Nome Obrigatório/repetição Type Observações
source Obrigatório String Normalmente o nome do atributo do objeto de source.
suffix Obrigatório String A cadeia de caracteres que você deseja acrescentar ao final do valor de source.

BitAnd

Descrição:
a função BitAnd define os bits especificados em um valor.

Sintaxe:
num BitAnd(num value1, num value2)

  • value1, value2: os valores numéricos que devem ser agrupados com AND

Comentários:
esta função converte ambos os parâmetros na representação binária e define um bit para:

  • 0 – se um ou ambos os bits correspondentes em value1 e value2 forem 0
  • 1 - se ambos os bits correspondentes são 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, já que os hexadecimais "F" AND "F7" são avaliados como esse valor.


CBool

Descrição:
a função CBool retorna um valor booliano com base na expressão avaliada

Sintaxe:
bool CBool(exp Expression)

Comentários:
Se a expressão é avaliada como um valor diferente de zero, CBool retorna True; caso contrário, retorna False.

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

Retorna True se ambos os atributos têm 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) - adota Unicode para codificação
str ConvertFromBase64(str source, enum Encoding)

  • source: cadeia de caracteres codificada em Base64
  • Codificação: Unicode, ASCII, UTF8

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

Ambos os exemplos retornam "Hello world!"


ConvertToBase64

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

Sintaxe:
str ConvertToBase64(str source)

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


ConvertToUTF8Hex

Descrição:
a função ConvertToUTF8Hex converte uma cadeia de caracteres em um valor codificado em UTF8 hexadecimal.

Sintaxe:
str ConvertToUTF8Hex(str source)

Comentários:
O formato de saída dessa função é usado pela ID do Microsoft Entra como o formato do atributo DN.

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


Contagem

Descrição:
a função Count retorna o número de elementos em um atributo de valores múltiplos

Sintaxe:
num Count(mvstr attribute)


CStr

Descrição:
a função CStr converte em um tipo de dados da cadeia de caracteres.

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

  • valor: pode ser um valor numérico, o atributo de referência ou booliano.

Exemplo:
CStr([dn])
poderia 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)
retorna um DateTime que representa 01/01/2012 23:00:00


DNComponent

Descrição:
a função DNComponent retorna o valor de um componente DN especificado saindo da esquerda.

Sintaxe:
str DNComponent(ref dn, num ComponentNumber)

  • dn: o atributo de referência a interpretar
  • ComponentNumber: o componente no DN a retornar

Exemplo:
DNComponent(CRef([dn]),1)
se dn é “cn=Joe,ou=…,” ele retorna 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, gere um erro no objeto.


FormatDateTime

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

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

Parâmetros:

Nome Obrigatório/repetição Type Observações
source Obrigatório String Normalmente o nome do atributo do objeto de source.
inputFormat Obrigatório String Formato esperado do valor de source. Para formatos com suporte, confira /dotnet/standard/base-types/custom-date-and-time-format-strings.
outputFormat Obrigatório String Formato da data de saída.

Guid

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

Sintaxe:
str Guid()


IIF

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

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

  • condition: qualquer valor ou expressão que pode ser avaliada como true ou false.
  • valueIfTrue: se a condição for avaliada como true, o valor será retornado.
  • valueIfFalse: se a condição for avaliada como false, o valor será 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; 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 subcadeia de caracteres em uma cadeia de caracteres

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: cadeia de caracteres a ser pesquisada
  • stringmatch: cadeia de caracteres a ser localizada
  • start: posição inicial para se localizar a subcadeia de caracteres
  • compare: vbTextCompare ou vbBinaryCompare

Comentários:
retorna a posição onde a subcadeia de caracteres foi encontrada ou 0, se não foi encontrada.

Exemplo:
InStr("The quick brown fox","quick")
é avaliado como 5

InStr("repEated","e",3,vbBinaryCompare)
é avaliado como 7


IsNull

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

Sintaxe:
bool IsNull(var Expression)

Comentários:
para um atributo, um valor Null é expresso pela ausência do atributo.

Exemplo:
IsNull([displayName])
retornará True se o atributo não estiver presente no CS ou no 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)

Comentários:
para um atributo, isso seria avaliado como True se o atributo estivesse ausente ou presente, mas fosse uma cadeia de caracteres vazia.
O inverso dessa função é chamado de IsPresent.

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


IsPresent

Descrição:
se a expressão for avaliada como uma cadeia de caracteres que não é Null nem vazia, a função IsPresent retornará true.

Sintaxe:
bool IsPresent(var expression)

Comentários:
o inverso dessa função é chamado de IsNullOrEmpty.

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


Item

Descrição:
a função Item retorna um item de um atributo/cadeia de caracteres de valores múltiplos.

Sintaxe:
var Item(mvstr attribute, num index)

  • attribute: atributo com valores múltiplos
  • index: índice para um item na cadeia de caracteres com vários valores.

Comentários:
a função Item é útil com a função Contains, desde que a última função retorne o índice para um item no atributo de valores múltiplos.

Gera um erro se o índice está fora dos limites.

Exemplo:
Mid(Item([proxyAddresses],Contains([proxyAddresses], "SMTP:")),6)
retorna o endereço de email principal.


IsString

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

Sintaxe:
bool IsString(var expression)

Comentários:
usada para determinar se CStr() pode ter êxito ao analisar a expressão.


Join

Função:
Join(separator, source1, source2, …)

Descrição:
Join() é semelhante a Append(), exceto que 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 de separador.

Se um dos valores de source for um atributo com vários valores, todos os valores nesse atributo serão unidos, separados pelo valor do separador.

Parâmetros:

Nome Obrigatório/repetição Type Observações
separator Obrigatório String Cadeia de caracteres usada para separar os valores de source quando eles são concatenados em uma cadeia de caracteres. Pode ser "" se não for necessário nenhum separador.
source1 … sourceN Obrigatório, número de vezes variável String Valores de cadeia de caracteres a serem unidos.

Esquerda

Descrição:
a função Left retorna um número especificado de caracteres a partir 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 ser retroando do início (esquerda) da cadeia de caracteres

Comentários:
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 a cadeia de caracteres for nula, retorne a cadeia de caracteres vazia.

Se a cadeia de caracteres contiver menos caracteres que o número especificado em numChars, uma cadeia de caracteres idêntica à cadeia (ou seja, que contém todos os caracteres no parâmetro 1) será retornada.

Exemplo:
Left("John Doe", 3)
Retorna Joh.


Mid

Função:
Mid(source, start, length)

Descrição:
retorna uma subcadeia de caracteres do valor de source. Uma subcadeia de caracteres é uma cadeia de caracteres que contém apenas alguns dos caracteres da cadeia de caracteres de source.

Parâmetros:

Nome Obrigatório/repetição Type Observações
source Obrigatório String Geralmente o nome do atributo.
start Obrigatório Número inteiro Índice na cadeia de caracteres de origem em que a subcadeia deve iniciar. O primeiro caractere na cadeia de caracteres terá o índice de 1, o segundo caractere terá o índice 2 e assim por diante.
length Obrigatório Número inteiro Comprimento da subcadeia de caracteres. Se o comprimento terminar fora da cadeia de caracteres source, a função retornará uma subcadeia de caracteres do índice start até o final da cadeia de caracteres source.

NormalizeDiacritics

Função:
NormalizeDiacritics(source)

Descrição:
Requer um argumento de cadeia de caracteres. Retorna a cadeia de caracteres, mas com nenhum dos caracteres diacríticos substituídos por caracteres não diacríticas equivalentes. Normalmente usado para converter os nomes e sobrenomes que contêm caracteres diacríticos (acentos) em valores legais que podem ser usados em vários identificadores de usuário, como nomes de entidade de segurança do usuário, nomes de conta SAM e endereços de email.

Parâmetros:

Nome Obrigatório/repetição Type Observações
source Obrigatório String Geralmente um atributo de nome ou sobrenome.

Not

Função:
Not(source)

Descrição:
Inverte o valor booliano da origem. Se o valor da origem for "True", retorna "False". Caso contrário, diferente, retorna "True".

Parâmetros:

Nome Obrigatório/repetição Type Observações
source Obrigatório Cadeia de caracteres booliana Valores da origem esperados são "True" ou "False".

RemoveDuplicates

Descrição:
a função RemoveDuplicates obtém uma cadeia de caracteres de valores múltiplos e verifica se cada valor é exclusivo.

Sintaxe:
mvstr RemoveDuplicates(mvstr attribute)

Exemplo:
RemoveDuplicates([proxyAddresses])
retorna um atributo proxyAddress corrigido no qual todos os valores duplicados foram removidos.


Substitua

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

Descrição:
substitui valores dentro de uma cadeia de caracteres. Ela funciona de maneira diferente dependendo dos parâmetros fornecidos:

  • Quando oldValue e replacementValue são fornecidos:

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

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

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

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

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

Parâmetros:

Nome Obrigatório/repetição Type Observações
source Obrigatório String Normalmente, o nome do atributo do objeto de source.
oldValue Opcional Cadeia de caracteres Valor a ser substituído em source ou template.
regexPattern Opcional Cadeia de caracteres Padrão Regex para o valor a ser substituído na origem. Ou, quando replacementPropertyName for usado, o padrão para extrair o valor de replacementPropertyName.
regexGroupName Opcional Cadeia de caracteres Nome do grupo dentro de regexPattern. Somente quando replacementPropertyName for usado, extrairemos o valor desse grupo como replacementValue de replacementPropertyName.
replacementValue Opcional Cadeia de caracteres Novo valor com o qual substituir um antigo.
replacementAttributeName Opcional Cadeia de caracteres Nome do atributo a ser usado para o valor de substituição
template Opcional Cadeia de caracteres Quando o valor de template for fornecido, procuraremos oldValue dentro de template e o substituiremos pelo valor de source.

SelectUniqueValue

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

Descrição:
Requer um mínimo de dois argumentos, que são definidas usando expressões de regras de geração de valor exclusivo. A função avalia cada regra e, em seguida, verifica o valor gerado para exclusividade no aplicativo/diretório de destino. O primeiro valor exclusivo encontrado será retornado o um. Se todos os valores já existem no destino, a entrada será obter mantida em garantia e o motivo pelo qual obtém registrado nos logs de auditoria. Não há nenhum limite superior para o número de argumentos que podem ser fornecidos.

Observação

  • Essa é uma função de nível superior, ele não pode ser aninhado.
  • Esta função não pode ser aplicada a atributos que têm uma precedência correspondente.
  • Essa função destina-se somente a ser usado para criações de entrada. Ao usá-lo com um atributo, defina a Aplicar mapeamento propriedade somente durante a criação do objeto.
  • Atualmente, essa função só é compatível com o "Provisionamento de Usuário do Workday e do SuccessFactors para o Active Directory". Ele não pode ser usado com outros aplicativos de provisionamento.

Parâmetros:

Nome Obrigatório/repetição Type Observações
uniqueValueRule1 … uniqueValueRuleN Pelo menos 2 são necessários, sem limite superior String Lista de regras de geração de valor exclusivo para avaliar.

SingleAppRoleAssignment

Função:
SingleAppRoleAssignment([appRoleAssignments])

Descrição:
Retorna um único appRoleAssignment da lista de todos os appRoleAssignments atribuída a um usuário para um determinado aplicativo. Essa função é necessária para converter o objeto appRoleAssignments em uma cadeia de caracteres de nome de função única. Observe que a prática recomendada é garantir que apenas um appRoleAssignment seja atribuído por usuário por 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/repetição Type Observações
[appRoleAssignments] Obrigatório String Objeto [appRoleAssignments].

Divisão

Função:
Split(source, delimiter)

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

Parâmetros:

Nome Obrigatório/repetição Type Observações
source Obrigatório String Valor da origem para atualizar.
delimiter Obrigatório String 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, que contém um identificador de segurança, em uma cadeia de caracteres.

Sintaxe:
str StringFromSid(bin ObjectSID)


StripSpaces

Função:
StripSpaces(source)

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

Parâmetros:

Nome Obrigatório/repetição Type Observações
source Obrigatório String Valor da origem para atualizar.

Comutador

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

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

Parâmetros:

Nome Obrigatório/repetição Type Observações
source Obrigatório String O valor de origem a ser verificado.
defaultValue Opcional Cadeia de caracteres Valor padrão a ser usado quando source não corresponde a nenhum parâmetro. Pode ser uma cadeia de caracteres vazia ("").
chave Obrigatório String Parâmetro key com o qual comparar o valor de source.
value Obrigatório String Valor de substituição para o source que corresponde ao parâmetro key.

ToLower

Função:
ToLower (origem, cultura)

Descrição:
Usa um valor de cadeia de caracteres de origem e o converte em letras minúsculas usando as regras de cultura especificadas. Se não houver nenhuma informação de cultura especificada, ela usará a Cultura invariável.

Parâmetros:

Nome Obrigatório/repetição Type Observações
source Obrigatório String Normalmente o nome do atributo do objeto de source
cultura Opcional Cadeia de caracteres O formato para o nome da cultura com base em RFC 4646 é languagecode2-country/regioncode2, em que regioncode2 é 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). Quando não há um código de idioma de duas letras disponível, um código de três letras derivado da ISO 639-2 é usado.

ToUpper

Função:
ToUpper (origem, cultura)

Descrição:
Usa um valor de cadeia de caracteres de origem e o converte em letras maiúsculas usando as regras de cultura especificadas. Se não houver nenhuma informação de cultura especificada, ela usará a Cultura invariável.

Parâmetros:

Nome Obrigatório/repetição Type Observações
source Obrigatório String Normalmente o nome do atributo do objeto de source.
cultura Opcional Cadeia de caracteres O formato para o nome da cultura com base em RFC 4646 é languagecode2-country/regioncode2, em que regioncode2 é 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). Quando não há um código de idioma de duas letras disponível, um código de três letras derivado da ISO 639-2 é usado.

Trim

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

Sintaxe:
str Trim(str value)

Exemplo:
Trim(" Test ")
retorna "test".

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


Word

Descrição:
a função Word retorna uma palavra contida em uma cadeia de caracteres com base nos parâmetros que descrevem os delimitadores a serem usados e o número de palavras a serem retornadas.

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 palavras deve retornar.
  • delimitadores: uma cadeia de caracteres que representa o delimitador(es) que deve ser usado para identificar palavras

Comentários:
cada cadeia de caracteres separada por um dos caracteres delimitadores na cadeia de caracteres é identificada como palavra:

  • Se number < 1, retorna uma cadeia de caracteres vazia.
  • Se a cadeia de caracteres for nula, retorna a cadeia de caracteres vazia.

Se a cadeia de caracteres for menor que o número de palavras ou a cadeia não contiver nenhuma palavra identificada por delimitadores, uma cadeia de caracteres vazia será retornada.

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

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

Exemplos

Retirar o nome de domínio conhecido

Você precisa retirar um nome de domínio conhecido do email 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", , ,"", ,)

Entrada/saída de exemplo:

  • INPUT (mail): "john.doe@contoso.com"
  • SAÍDA: "davi.barros"

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 nomes de usuário antes de sincronizá-los.

Expressão:
Append([userPrincipalName], ".test")

Entrada/saída de exemplo:

  • INPUT: (userPrincipalName): "John.Doe@contoso.com"
  • OUTPUT: "John.Doe@contoso.com.test"

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

Você precisa gerar um alias de usuário selecionando as três primeiras letras do nome do usuário e as cinco primeiras letras do sobrenome do usuário.

Expressão:
Append(Mid([givenName], 1, 3), Mid([surname], 1, 5))

Entrada/saída de exemplo:

  • ENTRADA (givenName): "Davi"
  • ENTRADA (sobrenome): "Barros"
  • SAÍDA: "DaviBarros"

Remover diacríticos de uma cadeia de caracteres

Você precisa substituir caracteres que contenham os acentos por caracteres equivalentes que não contenham acentos.

Expressão:
NormalizeDiacritics([givenName])

Entrada/saída de exemplo:

  • INPUT (givenName): "Zoë"
  • OUTPUT: "Zoe"

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

É necessário usar uma lista de cadeias de caracteres delimitada por vírgula e dividi-las em uma matriz que possa ser conectada a um atributo com vários valores, como o atributo PermissionSets do Salesforce. Nesse exemplo, uma lista de conjuntos de permissões foi preenchida em extensionAttribute5 na ID do Microsoft Entra.

Expressão:
Split([extensionAttribute5], ",")

Entrada/saída de exemplo:

  • INPUT (extensionAttribute5): "PermissionSetOne, PermissionSetTwo"
  • OUTPUT: ["PermissionSetOne", "PermissionSetTwo"]

Gerar data 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 o ServiceNow.

Expressão:

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

Entrada/saída de exemplo:

  • ENTRADA (extensionAttribute1): "20150123105347.1Z"
  • SAÍDA: "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 na 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 "Australia/Sydney".

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

Entrada/saída de exemplo:

  • ENTRADA (estado): "QLD"
  • SAÍDA: "Australia/Brisbane"

Substituir caracteres usando uma expressão regular

É necessário localizar caracteres que correspondam a um valor de expressão regular e removê-los.

Expressão:

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

Entrada/saída de exemplo:

  • ENTRADA (mailNickname: "john_doe72"
  • OUTPUT: "72"

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

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

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

Entrada/saída de exemplo:

  • INPUT (PreferredFirstName): "John"
  • INPUT (PreferredLastName): "Smith"
  • OUTPUT: "john.smith@contoso.com"

Gerar um valor exclusivo para o atributo userPrincipalName (UPN)

Com base no usuário primeiro nome, sobrenome e sobrenome, você precisa gerar um valor para o atributo UPN e procure sua exclusividade no diretório de destino AD antes de atribuir o valor para o 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")
    )

Entrada/saída de exemplo:

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

Próximas etapas