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
- Certificado
- CertExtensionOids
- CertFormat
- CertFriendlyName
- CertHashString
- Emissor Cert
- CertIssuerDN
- CertIssuerOid
- CertKeyAlgorithm
- CertKeyAlgorithmParams
- CertNameInfo
- CertNotAfter
- CertNotBefore
- CertPublicKeyOid
- CertPublicKeyParametersOid
- CertSerialNumber
- CertSignatureAlgorithmOid
- CertSubject
- CertSubjectNameDN
- CertSubjectNameOid
- CertImpressão digital
- CertVersion
- IsCert
- Conversão
- Data / Hora
- Diretório
- Avaliação
- Matemática
- Multi*valorado
- Fluxo do Programa
- Texto
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 emissor; 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: 00001111-aaaa-2222-bbbb-3333cccc4444 ou {00001111-aaaa-2222-bbbb-3333cccc444}
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, retorna o alias de um usuário com "t-" adicionado ao início dele, caso contrário, retornará o alias do usuário como está.
InStr
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: 00001111-aaaa-2222-bbbb-3333cccc4444 ou {00001111-aaaa-2222-bbbb-3333cccc444}
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 string e a separa no delimitador, para retornar uma matriz de strings. 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:john.doe@contoso.com,smtp:jd@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")
Retorna "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.
Right
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 vários valores.
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"