Microsoft Entra Connect Sync: Referência de funções

No Microsoft Entra Connect, as funções são usadas para manipular um valor de atributo durante a sincronização.
A sintaxe das funções é expressa usando o seguinte formato:
<output type> FunctionName(<input type> <position name>, ..)

Se uma função estiver sobrecarregada e aceitar várias sintaxes, todas as sintaxes válidas serão listadas.
As funções são fortemente tipadas e verificam se o tipo passado corresponde ao tipo documentado.
Se o tipo não corresponder, um erro será lançado.

Os tipos são expressos com a seguinte sintaxe:

  • bin – Binário
  • bool – booleano
  • dt – Data/Hora UTC
  • enum – Enumeração de constantes conhecidas
  • exp – Expressão, que se espera avaliar para um booleano
  • mvbin – binário multi-valorado
  • mvstr – String de vários valores
  • mvref – Referência Multivalorada
  • num – Numérico
  • ref – Referência
  • str – Corda
  • var – Uma variante de (quase) qualquer outro tipo
  • void – não retorna um valor

As funções com os tipos mvbin, mvstr e mvref só podem funcionar em atributos de vários valores. As funções com bin, str e ref funcionam em atributos de valor único e multivalor.

Referência das Funções


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.


BitOr

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

Sintaxe:
num BitOr(num value1, num value2)

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

Observações:
Esta função converte ambos os parâmetros para a representação binária e define um bit para 1 se um ou ambos os bits correspondentes na máscara e sinalizador são 1, e para 0 se ambos os bits correspondentes são 0. Em outras palavras, ele retorna 1 em todos os casos, exceto quando os bits correspondentes de ambos os parâmetros são 0.


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.


CDate

Description:
A função CDate retorna um UTC DateTime de uma cadeia de caracteres. DateTime não é um tipo de atributo nativo no Sync, mas é usado por algumas funções.

Sintaxe:
dt CDate(str value)

  • Valor: uma cadeia de caracteres com data, hora e, opcionalmente, fuso horário

Observações:
A cadeia de caracteres retornada está sempre em UTC.

Exemplo:
CDate([employeeStartTime])
Retorna um DateTime com base na hora de início do funcionário

CDate("2013-01-10 4:00 PM -8")
Devolve um DateTime que representa "2013-01-11 12:00"


CertExtensionOids

Description:
Retorna os valores Oid de todas as extensões críticas de um objeto de certificado.

Sintaxe:
mvstr CertExtensionOids(binary certificateRawData)

  • certificateRawData: Representação de matriz de bytes de um certificado X.509. A matriz de bytes pode ser binária (DER) codificada ou dados X.509 codificados em Base64.

CertFormat

Description:
Retorna o nome do formato deste certificado X.509v3.

Sintaxe:
str CertFormat(binary certificateRawData)

  • certificateRawData: Representação de matriz de bytes de um certificado X.509. A matriz de bytes pode ser binária (DER) codificada ou dados X.509 codificados em Base64.

CertFriendlyName

Description:
Retorna o alias associado para um certificado.

Sintaxe:
str CertFriendlyName(binary certificateRawData)

  • certificateRawData: Representação de matriz de bytes de um certificado X.509. A matriz de bytes pode ser binária (DER) codificada ou dados X.509 codificados em Base64.

CertHashString

Description:
Devolve o valor hash SHA1 do certificado X.509v3 como uma cadeia hexadecimal.

Sintaxe:
str CertHashString(binary certificateRawData)

  • certificateRawData: Representação de matriz de bytes de um certificado X.509. A matriz de bytes pode ser binária (DER) codificada ou dados X.509 codificados em Base64.

Emissor Cert

Description:
Retorna o nome da autoridade de certificação que emitiu o certificado X.509v3.

Sintaxe:
str CertIssuer(binary certificateRawData)

  • certificateRawData: Representação de matriz de bytes de um certificado X.509. A matriz de bytes pode ser binária (DER) codificada ou dados X.509 codificados em Base64.

CertIssuerDN

Description:
Devolve o nome distinto do emissor do certificado.

Sintaxe:
str CertIssuerDN(binary certificateRawData)

  • certificateRawData: Representação de matriz de bytes de um certificado X.509. A matriz de bytes pode ser binária (DER) codificada ou dados X.509 codificados em Base64.

CertIssuerOid

Description:
Retorna o Oid do emissor do certificado.

Sintaxe:
str CertIssuerOid(binary certificateRawData)

  • certificateRawData: Representação de matriz de bytes de um certificado X.509. A matriz de bytes pode ser binária (DER) codificada ou dados X.509 codificados em Base64.

CertKeyAlgorithm

Description:
Retorna as informações do algoritmo de chave para este certificado X.509v3 como uma cadeia de caracteres.

Sintaxe:
str CertKeyAlgorithm(binary certificateRawData)

  • certificateRawData: Representação de matriz de bytes de um certificado X.509. A matriz de bytes pode ser binária (DER) codificada ou dados X.509 codificados em Base64.

CertKeyAlgorithmParams

Description:
Retorna os parâmetros do algoritmo de chave para o certificado X.509v3 como uma cadeia de caracteres hexadecimal.

Sintaxe:
str CertKeyAlgorithm(binary certificateRawData)

  • certificateRawData: Representação de matriz de bytes de um certificado X.509. A matriz de bytes pode ser binária (DER) codificada ou dados X.509 codificados em Base64.

CertNameInfo

Description:
Retorna os nomes de assunto e emissor de um certificado.

Sintaxe:
str CertNameInfo(binary certificateRawData, str x509NameType, bool includesIssuerName)

  • certificateRawData: Representação de matriz de bytes de um certificado X.509. A matriz de bytes pode ser binária (DER) codificada ou dados X.509 codificados em Base64.
  • X509NameType: O valor X509NameType para o assunto.
  • includesIssuerName: true para incluir o nome do emitente; caso contrário, false.

CertNotAfter

Description:
Devolve a data na hora local após a qual um certificado deixa de ser válido.

Sintaxe:
dt CertNotAfter(binary certificateRawData)

  • certificateRawData: Representação de matriz de bytes de um certificado X.509. A matriz de bytes pode ser binária (DER) codificada ou dados X.509 codificados em Base64.

CertNotBefore

Description:
Devolve a data na hora local em que um certificado se torna válido.

Sintaxe:
dt CertNotBefore(binary certificateRawData)

  • certificateRawData: Representação de matriz de bytes de um certificado X.509. A matriz de bytes pode ser binária (DER) codificada ou dados X.509 codificados em Base64.

CertPublicKeyOid

Description:
Retorna o Oid da chave pública para o certificado X.509v3.

Sintaxe:
str CertKeyAlgorithm(binary certificateRawData)

  • certificateRawData: Representação de matriz de bytes de um certificado X.509. A matriz de bytes pode ser binária (DER) codificada ou dados X.509 codificados em Base64.

CertPublicKeyParametersOid

Description:
Retorna o Oid dos parâmetros de chave pública para o certificado X.509v3.

Sintaxe:
str CertPublicKeyParametersOid(binary certificateRawData)

  • certificateRawData: Representação de matriz de bytes de um certificado X.509. A matriz de bytes pode ser binária (DER) codificada ou dados X.509 codificados em Base64.

CertSerialNumber

Description:
Devolve o número de série do certificado X.509v3.

Sintaxe:
str CertSerialNumber(binary certificateRawData)

  • certificateRawData: Representação de matriz de bytes de um certificado X.509. A matriz de bytes pode ser binária (DER) codificada ou dados X.509 codificados em Base64.

CertSignatureAlgorithmOid

Description:
Retorna o Oid do algoritmo usado para criar a assinatura de um certificado.

Sintaxe:
str CertSignatureAlgorithmOid(binary certificateRawData)

  • certificateRawData: Representação de matriz de bytes de um certificado X.509. A matriz de bytes pode ser binária (DER) codificada ou dados X.509 codificados em Base64.

CertSubject

Description:
Obtém o nome distinto do assunto de um certificado.

Sintaxe:
str CertSubject(binary certificateRawData)

  • certificateRawData: Representação de matriz de bytes de um certificado X.509. A matriz de bytes pode ser binária (DER) codificada ou dados X.509 codificados em Base64.

CertSubjectNameDN

Description:
Retorna o nome distinto da entidade de um certificado.

Sintaxe:
str CertSubjectNameDN(binary certificateRawData)

  • certificateRawData: Representação de matriz de bytes de um certificado X.509. A matriz de bytes pode ser binária (DER) codificada ou dados X.509 codificados em Base64.

CertSubjectNameOid

Description:
Retorna o Oid do nome do assunto de um certificado.

Sintaxe:
str CertSubjectNameOid(binary certificateRawData)

  • certificateRawData: Representação de matriz de bytes de um certificado X.509. A matriz de bytes pode ser binária (DER) codificada ou dados X.509 codificados em Base64.

CertImpressão digital

Description:
Devolve a impressão digital de um certificado.

Sintaxe:
str CertThumbprint(binary certificateRawData)

  • certificateRawData: Representação de matriz de bytes de um certificado X.509. A matriz de bytes pode ser binária (DER) codificada ou dados X.509 codificados em Base64.

CertVersion

Description:
Retorna a versão de formato X.509 de um certificado.

Sintaxe:
str CertThumbprint(binary certificateRawData)

  • certificateRawData: Representação de matriz de bytes de um certificado X.509. A matriz de bytes pode ser binária (DER) codificada ou dados X.509 codificados em Base64.

CGuid

Description:
A função CGuid converte a representação de cadeia de caracteres de um GUID para sua representação binária.

Sintaxe:
bin CGuid(str GUID)

  • Uma String formatada neste padrão: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx ou {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}

Contains

Description:
A função Contains localiza uma cadeia de caracteres dentro de um atributo de vários valores

Sintaxe:
num Contains (mvstring attribute, str search) - sensível a maiúsculas e minúsculas
num Contains (mvstring attribute, str search, enum Casetype)
num Contains (mvref attribute, str search) - sensível a maiúsculas e minúsculas

  • Atributo: O atributo de vários valores a ser pesquisado.
  • search: string para encontrar no atributo.
  • Tipo de maiúsculas e minúsculas: CaseInsensitive ou CaseSensitive.

Retorna o índice no atributo de vários valores onde a cadeia de caracteres foi encontrada. 0 é retornado se a cadeia de caracteres não for encontrada.

Observações:
Para atributos de cadeia de caracteres de vários valores, a pesquisa localiza substrings nos valores.
Para atributos de referência, a cadeia de caracteres pesquisada deve corresponder exatamente ao valor a ser considerado uma correspondência.

Exemplo:
IIF(Contains([proxyAddresses],"SMTP:")>0,[proxyAddresses],Error("No primary SMTP address found."))
Se o atributo proxyAddresses tiver um endereço de e-mail principal (indicado por "SMTP:" maiúsculo), retorne o atributo proxyAddress, caso contrário, retornará um erro.


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!"


ConvertFromUTF8Hex

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

Sintaxe:
str ConvertFromUTF8Hex(str source)

  • fonte: UTF8 picada codificada de 2 bytes

Observações:
A diferença entre esta função e ConvertFromBase64([],UTF8) é que o resultado é amigável para o atributo DN.
Este formato é usado pelo Microsoft Entra ID como DN.

Exemplo:
ConvertFromUTF8Hex("48656C6C6F20776F726C6421")
Retorna "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)


CNum

Description:
A função CNum usa uma cadeia de caracteres e retorna um tipo de dados numéricos.

Sintaxe:
num CNum(str value)


CRef

Description:
Converte uma cadeia de caracteres em um atributo de referência

Sintaxe:
ref CRef(str value)

Exemplo:
CRef("CN=LC Services,CN=Microsoft,CN=lcspool01,CN=Pools,CN=RTC Service," & %Forest.LDAP%)


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"


DateAdd

Description:
Retorna uma Data contendo uma data à qual um intervalo de tempo especificado foi adicionado.

Sintaxe:
dt DateAdd(str interval, num value, dt date)

  • intervalo: expressão de cadeia de caracteres que é o intervalo de tempo que você deseja adicionar. A cadeia de caracteres deve ter um dos seguintes valores:
    • Ano aaaa
    • q Trimestre
    • m Mês
    • y Dia do ano
    • d Dia
    • w Dia da semana
    • Semana ww
    • h Hora
    • n Minuto
    • s Segundo
  • value: o número de unidades que você deseja adicionar. Pode ser positivo (para obter datas no futuro) ou negativo (para obter datas no passado).
  • date: DateTime que representa a data à qual o intervalo é adicionado.

Exemplo:
DateAdd("m", 3, CDate("2001-01-01"))
Adiciona 3 meses e retorna um DateTime representando "2001-04-01".


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


DNComponentRev

Description:
A função DNComponentRev retorna o valor de um componente DN especificado indo da direita (o fim).

Sintaxe:
str DNComponentRev(ref dn, num ComponentNumber)
str DNComponentRev(ref dn, num ComponentNumber, enum Options)

  • DN: O atributo de referência a ser interpretado
  • ComponentNumber - O componente no DN a ser retornado
  • Opções: DC – Ignore todos os componentes com "dc="

Exemplo:
Se dn for "cn=Joe,ou=Atlanta,ou=GA,ou=US, dc=contoso,dc=com", então
DNComponentRev(CRef([dn]),3)
DNComponentRev(CRef([dn]),1,"DC")
Ambos regressam aos EUA.


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.


EscapeDNComponent

Description:
A função EscapeDNComponent pega um componente de um DN e escapa dele para que possa ser representado no LDAP.

Sintaxe:
str EscapeDNComponent(str value)

Exemplo:
EscapeDNComponent("cn=" & [displayName]) & "," & %ForestLDAP%)
Certifica-se de que o objeto pode ser criado em um diretório LDAP, mesmo que o atributo displayName tenha caracteres que devem ser escapados no LDAP.


FormatDateTime

Description:
A função FormatDateTime é usada para formatar um DateTime para uma cadeia de caracteres com um formato especificado

Sintaxe:
str FormatDateTime(dt value, str format)

  • value: um valor no formato DateTime
  • Formato: uma cadeia de caracteres que representa o formato para o qual converter.

Observações:
Os valores possíveis para o formato podem ser encontrados aqui: Formatos de data e hora personalizados para a função FORMAT.

Exemplo:

FormatDateTime(CDate("12/25/2007"),"yyyy-MM-dd")
Resultados em "2007-12-25".

FormatDateTime(DateFromNum([pwdLastSet]),"yyyyMMddHHmmss.0Z")
Pode resultar em "20140905081453.0Z"


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")
Avalia até 5

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


InStrRev

Description:
A função InStrRev localiza a última ocorrência de uma substring em uma string

Sintaxe:
num InstrRev(str stringcheck, str stringmatch)
num InstrRev(str stringcheck, str stringmatch, num start)
num InstrRev(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:
InStrRev("abbcdbbbef","bb")
Devoluções 7


IsBitSet

Description:
A função IsBitSet testa se um bit está definido ou não

Sintaxe:
bool IsBitSet(num value, num flag)

  • value: um valor numérico que é avaliado.flag: um valor numérico que tem o bit a ser avaliado

Exemplo:
IsBitSet(&HF,4)
Retorna True porque o bit "4" é definido no valor hexadecimal "F"


IsDate

Description:
Se a expressão puder ser avaliada como um tipo DateTime, a função IsDate será avaliada como True.

Sintaxe:
bool IsDate(var Expression)

Observações:
Usado para determinar se CDate() pode ser bem-sucedido.


IsCert

Description:
Retorna true se os dados brutos puderem ser serializados no objeto de certificado .NET X509Certificate2.

Sintaxe:
bool CertThumbprint(binary certificateRawData)

  • certificateRawData: Representação de matriz de bytes de um certificado X.509. A matriz de bytes pode ser binária (DER) codificada ou dados X.509 codificados em Base64.

IsEmpty

Description:
Se o atributo estiver presente no CS ou MV, mas for avaliado como uma cadeia de caracteres vazia, a função IsEmpty será avaliada como True.

Sintaxe:
bool IsEmpty(var Expression)


IsGuid

Description:
Se a cadeia de caracteres puder ser convertida em um GUID, a função IsGuid será avaliada como true.

Sintaxe:
bool IsGuid(str GUID)

Observações:
Um GUID é definido como uma cadeia de caracteres seguindo um destes padrões: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx ou {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}

Usado para determinar se CGuid() pode ser bem-sucedido.

Exemplo:
IIF(IsGuid([strAttribute]),CGuid([strAttribute]),NULL)
Se o StrAttribute tiver um formato GUID, retorne uma representação binária, caso contrário, retorne um Null.


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.


IsNumeric

Description:
A função IsNumeric retorna um valor booleano que indica se uma expressão pode ser avaliada como um tipo de número.

Sintaxe:
bool IsNumeric(var Expression)

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


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.


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.


ItemOrNull

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

Sintaxe:
var ItemOrNull(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 ItemOrNull é ú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.

Se o índice estiver fora dos limites, retornará um valor Nulo.


Participar

Description:
A função Join usa uma cadeia de caracteres de vários valores e retorna uma cadeia de caracteres de valor único com separador especificado inserido entre cada item.

Sintaxe:
str Join(mvstr attribute)
str Join(mvstr attribute, str Delimiter)

  • attribute: atributo de vários valores que contém cadeias de caracteres a serem unidas.
  • delimiter: Qualquer string, usada para separar as substrings na string retornada. Se omitido, o caractere de espaço (" ") é usado. Se Delimitador for uma cadeia de caracteres de comprimento zero ("") ou Nothing, todos os itens na lista serão concatenados sem delimitadores.

Observações
Existe paridade entre as funções Join e Split. A função Join usa uma matriz de cadeias de caracteres e as une usando uma cadeia de caracteres delimitadora, para retornar uma única cadeia de caracteres. A função Split pega uma cadeia de caracteres e a separa no delimitador, para retornar uma matriz de cadeias de caracteres. No entanto, uma diferença fundamental é que Join pode concatenar strings com qualquer string de delimitador, Split só pode separar strings usando um único delimitador de caracteres.

Exemplo:
Join([proxyAddresses],",")
Pode retornar: "SMTP:,smtp:john.doe@contoso.comjd@contoso.com"


LCase

Description:
A função LCase converte todos os caracteres em uma cadeia de caracteres em minúsculas.

Sintaxe:
str LCase(str value)

Exemplo:
LCase("TeSt")
Devolve "teste".


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)
Retorna "Joh".


Len

Description:
A função Len retorna o número de caracteres em uma cadeia de caracteres.

Sintaxe:
num Len(str value)

Exemplo:
Len("John Doe")
Devoluções 8


LTrim

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

Sintaxe:
str LTrim(str value)

Exemplo:
LTrim(" Test ")
Devolve "Teste"


Mid

Description:
A função Mid retorna um número especificado de caracteres de uma posição especificada em uma cadeia de caracteres.

Sintaxe:
str Mid(str string, num start, num NumChars)

  • string: a cadeia de caracteres da qual retornar caracteres
  • Início: um número que identifica a posição inicial na cadeia de caracteres para retornar caracteres de
  • NumChars: um número que identifica o número de caracteres a serem retornados da posição na cadeia de caracteres

Observações:
Retornar caracteres numChars a partir do início da posição na cadeia de caracteres.
Uma cadeia de caracteres que contém caracteres numChars do início da posição na cadeia de caracteres:

  • Se numChars = 0, retorne a cadeia de caracteres vazia.
  • Se numChars 0, retorne a cadeia de caracteres de < entrada.
  • Se iniciar > o comprimento da cadeia de caracteres, retorne a cadeia de caracteres de entrada.
  • Se start <= 0, retorne a string de entrada.
  • Se string for null, retorne string vazia.

Se não houver caracteres numChar restantes na cadeia de caracteres desde o início da posição, o maior número possível de caracteres será retornado.

Exemplo:
Mid("John Doe", 3, 5)
Devolve "hn Do".

Mid("John Doe", 6, 999)
Devolve "Doe"


Agora

Description:
A função Now retorna um DateTime especificando a data e hora atuais, de acordo com a data e hora do sistema do seu computador.

Sintaxe:
dt Now()


NumFromDate

Description:
A função NumFromDate retorna uma data no formato de data do AD.

Sintaxe:
num NumFromDate(dt value)

Exemplo:
NumFromDate(CDate("2012-01-01 23:00:00"))
Devoluções 129699324000000000


PadLeft

Description:
A função PadLeft deixa uma cadeia de caracteres para um comprimento especificado usando um caractere de preenchimento fornecido.

Sintaxe:
str PadLeft(str string, num length, str padCharacter)

  • string: a string para pad.
  • length: Um inteiro que representa o comprimento desejado da cadeia de caracteres.
  • padCharacter: uma cadeia de caracteres que consiste em um único caractere para usar como caractere do pad

Observações:

  • Se o comprimento da string for menor que o comprimento, padCharacter será repetidamente acrescentado ao início (esquerda) da string até que ela tenha um comprimento igual ao comprimento.
  • PadCharacter pode ser um caractere de espaço, mas não pode ser um valor nulo.
  • Se o comprimento da string for igual ou maior que length, string será retornado inalterado.
  • Se string tiver um comprimento maior ou igual ao comprimento, uma string idêntica a string será retornada.
  • Se o comprimento da string for menor que o comprimento, uma nova string do comprimento desejado será retornada contendo string acolchoada com um padCharacter.
  • Se string for null, a função retornará uma string vazia.

Exemplo:
PadLeft("User", 10, "0")
Devolve "000000User".


PadRight

Description:
A função PadRight alfineta uma cadeia de caracteres para um comprimento especificado usando um caractere de preenchimento fornecido.

Sintaxe:
str PadRight(str string, num length, str padCharacter)

  • string: a string para pad.
  • length: Um inteiro que representa o comprimento desejado da cadeia de caracteres.
  • padCharacter: uma cadeia de caracteres que consiste em um único caractere para usar como caractere do pad

Observações:

  • Se o comprimento da string for menor que o comprimento, padCharacter será repetidamente acrescentado ao final (à direita) da string até que ela tenha um comprimento igual ao comprimento.
  • padCharacter pode ser um caractere de espaço, mas não pode ser um valor nulo.
  • Se o comprimento da string for igual ou maior que length, string será retornado inalterado.
  • Se string tiver um comprimento maior ou igual ao comprimento, uma string idêntica a string será retornada.
  • Se o comprimento da string for menor que o comprimento, uma nova string do comprimento desejado será retornada contendo string acolchoada com um padCharacter.
  • Se string for null, a função retornará uma string vazia.

Exemplo:
PadRight("User", 10, "0")
Retorna "User000000".


PCase

Description:
A função PCase converte o primeiro caractere de cada palavra delimitada por espaço em uma cadeia de caracteres em maiúsculas, e todos os outros caracteres são convertidos em minúsculas.

Sintaxe:
String PCase(string)

Observações:

  • Atualmente, essa função não fornece caixa adequada para converter uma palavra que é totalmente maiúscula, como um acrônimo.

Exemplo:
PCase("TEsT")
Devolve "Teste".

PCase(LCase("TEST"))
Devolve "Teste"


RandomNum

Description:
A função RandomNum retorna um número aleatório entre um intervalo especificado.

Sintaxe:
num RandomNum(num start, num end)

  • start: um número que identifica o limite inferior do valor aleatório a gerar
  • fim: um número que identifica o limite superior do valor aleatório a gerar

Exemplo:
Random(100,999)
Pode retornar 734.


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

Description:
A função Replace substitui todas as ocorrências de uma cadeia de caracteres por outra cadeia de caracteres.

Sintaxe:
str Replace(str string, str OldValue, str NewValue)

  • string: uma cadeia de caracteres para substituir valores.
  • OldValue: A cadeia de caracteres a ser pesquisada e substituída.
  • NewValue: A cadeia de caracteres para substituir.

Observações:
A função reconhece os seguintes apelidos especiais:

  • \n – Nova Linha
  • \r – Retorno de carro
  • \t – Separador

Exemplo:
Replace([address],"\r\n",", ")
Substitui CRLF por vírgula e espaço, e pode levar a "One Microsoft Way, Redmond, WA, EUA"


ReplaceChars

Description:
A função ReplaceChars substitui todas as ocorrências de caracteres encontradas na cadeia de caracteres ReplacePattern.

Sintaxe:
str ReplaceChars(str string, str ReplacePattern)

  • string: uma cadeia de caracteres para substituir caracteres.
  • ReplacePattern: uma cadeia de caracteres que contém um dicionário com caracteres para substituir.

O formato é {source1}:{target1},{source2}:{target2},{sourceN},{targetN} onde source é o caractere para localizar e direcionar a string a ser substituída.

Observações:

  • A função toma cada ocorrência de fontes definidas e as substitui pelos alvos.
  • A origem deve ser exatamente um caractere (Unicode).
  • A origem não pode estar vazia ou ter mais de um caractere (erro de análise).
  • O destino pode ter vários caracteres, por exemplo ö:oe, β:ss.
  • O alvo pode estar vazio, indicando que o caractere deve ser removido.
  • A fonte diferencia maiúsculas de minúsculas e deve ser uma correspondência exata.
  • O , (vírgula) e : (dois pontos) são caracteres reservados e não podem ser substituídos usando esta função.
  • Espaços e outros caracteres brancos na cadeia de caracteres ReplacePattern são ignorados.

Exemplo:
%ReplaceString% = ’:,Å:A,Ä:A,Ö:O,å:a,ä:a,ö,o

ReplaceChars("Räksmörgås",%ReplaceString%)
Devolve Raksmorgas

ReplaceChars("O’Neil",%ReplaceString%)
Retorna "ONeil", o único tick é definido para ser removido.


Description:
A função Right retorna um número especificado de caracteres da direita (fim) de uma cadeia de caracteres.

Sintaxe:
str Right(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 final (à direita) da cadeia de caracteres

Observações:
Os caracteres NumChars são retornados da última posição da cadeia de caracteres.

Uma cadeia de caracteres que contém os últimos 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 será retornada.

Exemplo:
Right("John Doe", 3)
Devolve "Doe".


RTrim

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

Sintaxe:
str RTrim(str value)

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


Selecione

Description:
Processe todos os valores em um atributo de vários valores (ou saída de uma expressão) com base na função especificada.

Sintaxe:
mvattr Select(variable item, mvattr attribute, func function)
mvattr Select(variable item, exp expression, func function)

  • item: representa um elemento no atributo de vários valores
  • Atributo: O atributo de vários valores
  • expressão: uma expressão que retorna uma coleção de valores
  • condição: qualquer função que possa processar um item no atributo

Exemplos:
Select($item,[otherPhone],Replace($item,"-",""))
Retorne todos os valores no atributo de vários valores otherPhone após hífenes (-) terem sido removidos.


Dividida

Description:
A função Split usa uma cadeia de caracteres separada por um delimitador e a torna uma cadeia de valores múltiplos.

Sintaxe:
mvstr Split(str value, str delimiter)
mvstr Split(str value, str delimiter, num limit)

  • value: a cadeia de caracteres com um caractere delimitador para separar.
  • delimitador: caractere único a ser usado como delimitador.
  • limite: número máximo de valores que podem retornar.

Exemplo:
Split("SMTP:john.doe@contoso.com,smtp:jd@contoso.com",",")
Retorna uma cadeia de caracteres de vários valores com 2 elementos úteis para o atributo proxyAddress.


StringFromGuid

Description:
A função StringFromGuid usa um GUID binário e o converte em uma cadeia de caracteres

Sintaxe:
str StringFromGuid(bin GUID)


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)


Switch

Description:
A função Switch é usada para retornar um único valor com base nas condições avaliadas.

Sintaxe:
var Switch(exp expr1, var value1[, exp expr2, var value … [, exp expr, var valueN]])

  • expr: Expressão variante que você deseja avaliar.
  • value: Valor a ser retornado se a expressão correspondente for True.

Observações:
A lista de argumentos da função Switch consiste em pares de expressões e valores. As expressões são avaliadas da esquerda para a direita, e o valor associado à primeira expressão a ser avaliada como True é retornado. Se as peças não estiverem emparelhadas corretamente, ocorrerá um erro em tempo de execução.

Por exemplo, se expr1 for True, Switch retornará value1. Se expr-1 for False, mas expr-2 for True, Switch retornará value-2 e assim por diante.

Switch retorna um Nothing se:

  • Nenhuma das expressões é True.
  • A primeira expressão True tem um valor correspondente que é Null.

O Switch avalia todas as expressões, mesmo que retorne apenas uma delas. Por esta razão, deve estar atento a efeitos secundários indesejáveis. Por exemplo, se a avaliação de qualquer expressão resultar em uma divisão por erro zero, ocorrerá um erro.

O valor também pode ser a função Erro, que retornaria uma cadeia de caracteres personalizada.

Exemplo:
Switch([city] = "London", "English", [city] = "Rome", "Italian", [city] = "Paris", "French", True, Error("Unknown city"))
Devolve o idioma falado em algumas das principais cidades, caso contrário devolve um Erro.


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.


UCase

Description:
A função UCase converte todos os caracteres em uma cadeia de caracteres em maiúsculas.

Sintaxe:
str UCase(str string)

Exemplo:
UCase("TeSt")
Devolve "TEST".


Onde

Description:
Retorna um subconjunto de valores de um atributo de vários valores (ou saída de uma expressão) com base em condição específica.

Sintaxe:
mvattr Where(variable item, mvattr attribute, exp condition)
mvattr Where(variable item, exp expression, exp condition)

  • item: representa um elemento no atributo de vários valores
  • Atributo: O atributo de vários valores
  • condição: qualquer expressão que possa ser avaliada como verdadeira ou falsa
  • expressão: uma expressão que retorna uma coleção de valores

Exemplo:
Where($item,[userCertificate],CertNotAfter($item)>Now())
Retorne os valores de certificado no atributo de vários valores userCertificate que não expiraram.


With

Description:
A função With fornece uma maneira de simplificar uma expressão complexa usando uma variável para representar uma subexpressão que aparece uma ou mais vezes na expressão complexa.

Sintaxe:With(var variable, exp subExpression, exp complexExpression)

  • variável: Representa a subexpressão.
  • subExpressão: subexpressão representada por variável.
  • complexExpression: Uma expressão complexa.

Exemplo:
With($unExpiredCerts,Where($item,[userCertificate],CertNotAfter($item)>Now()),IIF(Count($unExpiredCerts)>0,$unExpiredCerts,NULL))
É funcionalmente equivalente a:
IIF (Count(Where($item,[userCertificate],CertNotAfter($item)>Now()))>0, Where($item,[userCertificate],CertNotAfter($item)>Now()),NULL)
Que retorna apenas valores de certificado não expirados no atributo userCertificate.


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"

Recursos Adicionais