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:
- Atributos, que devem ser colocados entre colchetes. Por exemplo: [attributeName]
- Constantes de cadeia de caracteres, que devem ser colocadas entre aspas duplas. Por exemplo: "Estados Unidos"
- 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