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 está sobrecarregada e aceita diversas sintaxes, todas as sintaxes válidas são listadas.
As funções são fortemente tipadas e verificam que o tipo passado corresponde ao tipo documentado.
Se o tipo não corresponder, um erro será gerado.
Os tipos são expressos com a seguinte sintaxe:
- bin – binário
- bool – Boolean
- dt – data/hora UTC
- enumeração – enumeração das constantes conhecidas
- exp – expressão, que deve ser avaliada como um valor booleano
- mvbin - Binário de Valores Múltiplos
- mvstr - Cadeia de Caracteres de Valores Múltiplos
- mvstr - Referência de Valores Múltiplos
- num – numérico
- ref – Referência
- str – Cadeia de Caracteres
- var – uma variante de (quase) qualquer outro tipo
- void – não retorna um valor
As funções com os tipos mvbin, mvstr e mvref funcionam somente nos atributos de valores múltiplos. As funções com bin, str e ref funcionam nos atributos de valor único e valores múltiplos.
Referência de funções
- Certificado
- CertExtensionOids
- CertFormat
- CertFriendlyName
- CertHashString
- CertIssuer
- CertIssuerDN
- CertIssuerOid
- CertKeyAlgorithm
- CertKeyAlgorithmParams
- CertNameInfo
- CertNotAfter
- CertNotBefore
- CertPublicKeyOid
- CertPublicKeyParametersOid
- CertSerialNumber
- CertSignatureAlgorithmOid
- CertSubject
- CertSubjectNameDN
- CertSubjectNameOid
- CertThumbprint
- CertVersion
- IsCert
- Conversão
- Data/Hora
- Diretório
- Evaluation
- Matemática
- Valores Múltiplos
- Fluxo do Programa
- Text
BitAnd
Descrição:
a função BitAnd define os bits especificados em um valor.
Sintaxe:
num BitAnd(num value1, num value2)
- value1, value2: os valores numéricos que devem ser agrupados com AND
Comentários:
esta função converte ambos os parâmetros na representação binária e define um bit para:
- 0 – se um ou ambos os bits correspondentes em value1 e value2 forem 0
- 1 - se ambos os bits correspondentes são 1.
Em outras palavras, ele retorna 0 em todos os casos, exceto quando os bits correspondentes de ambos os parâmetros são 1.
Exemplo:
BitAnd(&HF, &HF7)
Retorna 7, já que os hexadecimais "F" AND "F7" são avaliados como esse valor.
BitOr
Descrição:
a função BitOr define os bits especificados em um valor.
Sintaxe:
num BitOr(num value1, num value2)
- value1, value2: valores numéricos que devem ser agrupados com OR
Comentários:
esta função converte ambos os parâmetros na representação binária e define um bit para 1 se um ou ambos os bits correspondentes na máscara e no 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 naqueles em que os bits correspondentes de ambos os parâmetros são 0.
CBool
Descrição:
a função CBool retorna um valor booliano com base na expressão avaliada
Sintaxe:
bool CBool(exp Expression)
Comentários:
Se a expressão é avaliada como um valor diferente de zero, CBool retorna True; caso contrário, retorna False.
Exemplo:
CBool([attrib1] = [attrib2])
Retorna True se ambos os atributos têm o mesmo valor.
CDate
Descrição:
a função CDate retorna um DateTime UTC a partir 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)
- Value: uma cadeia de caracteres com uma data, hora e opcionalmente um fuso horário
Comentários:
a cadeia de caracteres retornada é 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")
Retorna um DateTime que representa "11/01/2013 12:00"
CertExtensionOids
Descrição:
Retorna os valores de 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 codificada binária (DER) ou de dados X.509 codificados em Base64.
CertFormat
Descrição:
Retorna o nome do formato desse 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 codificada binária (DER) ou de dados X.509 codificados em Base64.
CertFriendlyName
Descrição:
Retorna o alias associado de 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 codificada binária (DER) ou de dados X.509 codificados em Base64.
CertHashString
Descrição:
Retorna o valor de hash SHA1 do certificado X.509v3 como uma cadeia de caracteres hexadecimal.
Sintaxe:
str CertHashString(binary certificateRawData)
- certificateRawData: representação de matriz de bytes de um certificado X.509. A matriz de bytes pode ser codificada binária (DER) ou de dados X.509 codificados em Base64.
CertIssuer
Descrição:
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 codificada binária (DER) ou de dados X.509 codificados em Base64.
CertIssuerDN
Descrição:
Retorna o nome diferenciado 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 codificada binária (DER) ou de dados X.509 codificados em Base64.
CertIssuerOid
Descrição:
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 codificada binária (DER) ou de dados X.509 codificados em Base64.
CertKeyAlgorithm
Descrição:
Retorna as informações de algoritmo de chave do 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 codificada binária (DER) ou de dados X.509 codificados em Base64.
CertKeyAlgorithmParams
Descrição:
Retorna os parâmetros de algoritmo de chave do 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 codificada binária (DER) ou de dados X.509 codificados em Base64.
CertNameInfo
Descrição:
Retorna os nomes de entidade 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 codificada binária (DER) ou de dados X.509 codificados em Base64.
- X509NameType: o valor de X509NameType para a entidade.
- includesIssuerName: verdadeiro para incluir o nome do emissor; caso contrário, falso.
CertNotAfter
Descrição:
Retorna a data, em hora local, depois da qual um certificado não será mais 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 codificada binária (DER) ou de dados X.509 codificados em Base64.
CertNotBefore
Descrição:
Retorna a data, em hora local, na qual 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 codificada binária (DER) ou de dados X.509 codificados em Base64.
CertPublicKeyOid
Descrição:
Retorna o OID da chave pública do 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 codificada binária (DER) ou de dados X.509 codificados em Base64.
CertPublicKeyParametersOid
Descrição:
Retorna o OID dos parâmetros de chave pública do 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 codificada binária (DER) ou de dados X.509 codificados em Base64.
CertSerialNumber
Descrição:
Retorna 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 codificada binária (DER) ou de dados X.509 codificados em Base64.
CertSignatureAlgorithmOid
Descrição:
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 codificada binária (DER) ou de dados X.509 codificados em Base64.
CertSubject
Descrição:
Obtém o nome diferenciado da entidade 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 codificada binária (DER) ou de dados X.509 codificados em Base64.
CertSubjectNameDN
Descrição:
Retorna o nome diferenciado 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 codificada binária (DER) ou de dados X.509 codificados em Base64.
CertSubjectNameOid
Descrição:
Retorna o OID do nome da entidade 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 codificada binária (DER) ou de dados X.509 codificados em Base64.
CertThumbprint
Descrição:
Retorna 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 codificada binária (DER) ou de dados X.509 codificados em Base64.
CertVersion
Descrição:
Retorna a versão do 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 codificada binária (DER) ou de dados X.509 codificados em Base64.
CGuid
Descrição:
a função CGuid converte a representação da cadeia de caracteres de um GUID em sua representação binária.
Sintaxe:
bin CGuid(str GUID)
- Uma cadeia de caracteres formatada neste padrão: 00001111-aaaa-2222-bbbb-3333cccc4444 ou {00001111-aaaa-2222-bbbb-3333cccc4444}
Contém
Descrição:
a função Contains localiza uma cadeia de caracteres dentro de um atributo de valores múltiplos
Sintaxe:
num Contains (mvstring attribute, str search)
- diferencia letras maiúsculas de minúsculas
num Contains (mvstring attribute, str search, enum Casetype)
num Contains (mvref attribute, str search)
- diferencia letras maiúsculas de minúsculas
- attribute: o atributo de valores múltiplos para a pesquisa.
- search: a cadeia de caracteres a localizar no atributo.
- Casetype: CaseInsensitive ou CaseSensitive.
Retorna o índice no atributo com vários valores em que a cadeia de caracteres foi encontrada. Se a cadeia de caracteres não for encontrada, 0 será retornado.
Comentários:
para os atributos da cadeia de caracteres de valores múltiplos, a pesquisa encontra as subcadeias nos valores.
Para atributos de referência, a cadeia de caracteres pesquisada deve corresponder exatamente ao valor para que sejam considerados como 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 email principal (indicado pelas letras maiúsculas "SMTP:"), o atributo proxyAddress será retornado; caso contrário, um erro será retornado.
ConvertFromBase64
Descrição:
a função ConvertFromBase64 converte o valor codificado base64 especificado em uma cadeia de caracteres regular.
Sintaxe:
str ConvertFromBase64(str source)
- adota Unicode para codificação
str ConvertFromBase64(str source, enum Encoding)
- source: cadeia de caracteres codificada em Base64
- Codificação: Unicode, ASCII, UTF8
Exemplo
ConvertFromBase64("SABlAGwAbABvACAAdwBvAHIAbABkACEA")
ConvertFromBase64("SGVsbG8gd29ybGQh", UTF8)
Ambos os exemplos retornam "Hello world!"
ConvertFromUTF8Hex
Descrição:
a função ConvertFromUTF8Hex converte o valor codificado em UTF8 hexadecimal especificado em uma cadeia de caracteres.
Sintaxe:
str ConvertFromUTF8Hex(str source)
- source: cadeia de caracteres codificada em UTF8 de 2 bytes
Comentários:
A diferença entre essa função e ConvertFromBase64([],UTF8) é que o resultado é amigável para o atributo DN.
Esse formato é usado pelo Microsoft Entra ID como DN.
Exemplo:
ConvertFromUTF8Hex("48656C6C6F20776F726C6421")
retorna "Hello world!"
ConvertToBase64
Descrição:
a função ConvertToBase64 converte uma cadeia de caracteres em uma cadeia de caracteres Unicode em base64.
Converte o valor de uma matriz de inteiros em sua representação equivalente de cadeia de caracteres, que é codificada com dígitos em base 64.
Sintaxe:
str ConvertToBase64(str source)
Exemplo:
ConvertToBase64("Hello world!")
retorna "SABlAGwAbABvACAAdwBvAHIAbABkACEA"
ConvertToUTF8Hex
Descrição:
a função ConvertToUTF8Hex converte uma cadeia de caracteres em um valor codificado em UTF8 hexadecimal.
Sintaxe:
str ConvertToUTF8Hex(str source)
Comentários:
O formato de saída dessa função é usado pela ID do Microsoft Entra como o formato do atributo DN.
Exemplo:
ConvertToUTF8Hex("Hello world!")
retorna 48656C6C6F20776F726C6421
Contagem
Descrição:
a função Count retorna o número de elementos em um atributo de valores múltiplos
Sintaxe:
num Count(mvstr attribute)
CNum
Descrição:
a função CNum obtém uma cadeia de caracteres e retorna um tipo de dados numérico.
Sintaxe:
num CNum(str value)
CRef
Descrição:
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
Descrição:
a função CStr converte em um tipo de dados da cadeia de caracteres.
Sintaxe:
str CStr(num value)
str CStr(ref value)
str CStr(bool value)
- valor: pode ser um valor numérico, o atributo de referência ou booliano.
Exemplo:
CStr([dn])
poderia retornar "cn=Joe,dc=contoso,dc=com"
DateAdd
Descrição:
retorna um Date contendo uma data à qual um intervalo de tempo especificado foi adicionado.
Sintaxe:
dt DateAdd(str interval, num value, dt date)
- interval: 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:
- aaaa Ano
- q - Trimestre
- m - Mês
- y - Dia do ano
- d - Dia
- w - Dia da semana
- ww - Semana
- h - Hora
- m - Minuto
- s - Segundo
- valor: O número de unidades que você deseja adicionar. Ele pode ser positivo (para obter datas no futuro) ou negativo (para obter datas no passado).
- date: DateTime, representando a data à qual o intervalo é adicionado.
Exemplo:
DateAdd("m", 3, CDate("2001-01-01"))
adiciona três meses e retorna um DateTime que representa "01/04/2001".
DateFromNum
Descrição:
a função DateFromNum converte um valor, no formato de data do AD, em um tipo DateTime.
Sintaxe:
dt DateFromNum(num value)
Exemplo:
DateFromNum([lastLogonTimestamp])
DateFromNum(129699324000000000)
retorna um DateTime que representa 01/01/2012 23:00:00
DNComponent
Descrição:
a função DNComponent retorna o valor de um componente DN especificado saindo da esquerda.
Sintaxe:
str DNComponent(ref dn, num ComponentNumber)
- dn: o atributo de referência a interpretar
- ComponentNumber: o componente no DN a retornar
Exemplo:
DNComponent(CRef([dn]),1)
se dn é “cn=Joe,ou=…,” ele retorna Joe
DNComponentRev
Descrição:
a função DNComponentRev retorna o valor de um componente DN especificado saindo da direita (o final).
Sintaxe:
str DNComponentRev(ref dn, num ComponentNumber)
str DNComponentRev(ref dn, num ComponentNumber, enum Options)
- dn: o atributo de referência a interpretar
- ComponentNumber - o componente no DN a retornar
- Opções: DC – ignorar 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 retornam US.
Erro
Descrição:
a função Error é usada para retornar um erro personalizado.
Sintaxe:
void Error(str ErrorMessage)
Exemplo:
IIF(IsPresent([accountName]),[accountName],Error("AccountName is required"))
se o atributo accountName não estiver presente, gere um erro no objeto.
EscapeDNComponent
Descrição:
a função EscapeDNComponent obtém um componente de um DN e aplica o escape para que ele possa ser representado no LDAP.
Sintaxe:
str EscapeDNComponent(str value)
Exemplo:
EscapeDNComponent("cn=" & [displayName]) & "," & %ForestLDAP%)
garante que o objeto possa ser criado em um diretório LDAP, mesmo que o atributo displayName tenha caracteres que devam ter o escape aplicado no LDAP.
FormatDateTime
Descrição:
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
- format: uma cadeia de caracteres que representa o formato para o qual converter.
Comentários:
Os valores possíveis para o formato podem ser encontrados aqui: Formatos de Data/Hora personalizados para a função FORMAT.
Exemplo:
FormatDateTime(CDate("12/25/2007"),"yyyy-MM-dd")
resulta em "25/12/2007".
FormatDateTime(DateFromNum([pwdLastSet]),"yyyyMMddHHmmss.0Z")
pode resultar em "20140905081453.0Z"
Guid
Descrição:
A função GUID gera um novo GUID aleatório
Sintaxe:
str Guid()
IIF
Descrição:
a função IIF retorna um valor de um conjunto de valores possíveis com base em uma condição especificada.
Sintaxe:
var IIF(exp condition, var valueIfTrue, var valueIfFalse)
- condition: qualquer valor ou expressão que pode ser avaliada como true ou false.
- valueIfTrue: se a condição for avaliada como true, o valor será retornado.
- valueIfFalse: se a condição for avaliada como false, o valor será retornado.
Exemplo:
IIF([employeeType]="Intern","t-" & [alias],[alias])
se o usuário for um estagiário, retornará o alias de um usuário com "t-" adicionado ao início; caso contrário, retornará o alias do usuário como está.
InStr
Descrição:
a função InStr localiza a primeira ocorrência de uma subcadeia de caracteres em uma cadeia de caracteres
Sintaxe:
num InStr(str stringcheck, str stringmatch)
num InStr(str stringcheck, str stringmatch, num start)
num InStr(str stringcheck, str stringmatch, num start, enum compare)
- stringcheck: cadeia de caracteres a ser pesquisada
- stringmatch: cadeia de caracteres a ser localizada
- start: posição inicial para se localizar a subcadeia de caracteres
- compare: vbTextCompare ou vbBinaryCompare
Comentários:
retorna a posição onde a subcadeia de caracteres foi encontrada ou 0, se não foi encontrada.
Exemplo:
InStr("The quick brown fox","quick")
é avaliado como 5
InStr("repEated","e",3,vbBinaryCompare)
é avaliado como 7
InStrRev
Descrição:
a função InStrRev localiza a última ocorrência de uma subcadeia de caracteres em uma cadeia de caracteres
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: cadeia de caracteres a ser pesquisada
- stringmatch: cadeia de caracteres a ser localizada
- start: posição inicial para se localizar a subcadeia de caracteres
- compare: vbTextCompare ou vbBinaryCompare
Comentários:
retorna a posição onde a subcadeia de caracteres foi encontrada ou 0, se não foi encontrada.
Exemplo:
InStrRev("abbcdbbbef","bb")
retorna 7
IsBitSet
Descrição:
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 é evaluated.flag: um valor numérico que contém o bit a ser avaliado
Exemplo:
IsBitSet(&HF,4)
retorna True porque o bit "4" está definido no valor hexadecimal "F"
IsDate
Descrição:
se a expressão puder ser avaliada como um tipo DateTime, a função IsDate será avaliada como True.
Sintaxe:
bool IsDate(var Expression)
Comentários:
usada para determinar se CDate() pode ter êxito.
IsCert
Descrição:
Retorna verdadeiro 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 codificada binária (DER) ou de dados X.509 codificados em Base64.
IsEmpty
Descrição:
se o atributo estiver presente no CS ou no MV, mas for avaliado como uma cadeia de caracteres vazia, a função IsEmpty será avaliada como True.
Sintaxe:
bool IsEmpty(var Expression)
IsGuid
Descrição:
se a cadeia de caracteres puder ser convertida em um GUID, a função IsGuid será avaliada como true.
Sintaxe:
bool IsGuid(str GUID)
Comentários:
Um GUID é definido como uma cadeia de caracteres seguindo um destes padrões: 00001111-aaaa-2222-bbbb-3333cccc4444 ou {00001111-aaaa-2222-bbbb-3333cccc4444}
Usada para determinar se CGuid() pode ter êxito.
Exemplo:
IIF(IsGuid([strAttribute]),CGuid([strAttribute]),NULL)
se StrAttribute tiver um formato de GUID, retornará uma representação binária; caso contrário, retornará Null.
IsNull
Descrição:
se a expressão for avaliada como Null, a função IsNull retornará true.
Sintaxe:
bool IsNull(var Expression)
Comentários:
para um atributo, um valor Null é expresso pela ausência do atributo.
Exemplo:
IsNull([displayName])
retornará True se o atributo não estiver presente no CS ou no MV.
IsNullOrEmpty
Descrição:
se a expressão for nula ou uma cadeia de caracteres vazia, a função IsNullOrEmpty retornará true.
Sintaxe:
bool IsNullOrEmpty(var Expression)
Comentários:
para um atributo, isso seria avaliado como True se o atributo estivesse ausente ou presente, mas fosse uma cadeia de caracteres vazia.
O inverso dessa função é chamado de IsPresent.
Exemplo:
IsNullOrEmpty([displayName])
retornará True se o atributo não estiver presente ou for uma cadeia de caracteres vazia no CS ou no MV.
IsNumeric
Descrição:
a função IsNumeric retorna um valor booliano que indica se uma expressão pode ser avaliada como um tipo numérico.
Sintaxe:
bool IsNumeric(var Expression)
Comentários:
usada para determinar se CNum() pode ter êxito ao analisar a expressão.
IsString
Descrição:
se a expressão puder ser avaliada como um tipo de cadeia de caracteres, a função IsString será avaliada como True.
Sintaxe:
bool IsString(var expression)
Comentários:
usada para determinar se CStr() pode ter êxito ao analisar a expressão.
IsPresent
Descrição:
se a expressão for avaliada como uma cadeia de caracteres que não é Null nem vazia, a função IsPresent retornará true.
Sintaxe:
bool IsPresent(var expression)
Comentários:
o inverso dessa função é chamado de IsNullOrEmpty.
Exemplo:
Switch(IsPresent([directManager]),[directManager], IsPresent([skiplevelManager]),[skiplevelManager], IsPresent([director]),[director])
Item
Descrição:
a função Item retorna um item de um atributo/cadeia de caracteres de valores múltiplos.
Sintaxe:
var Item(mvstr attribute, num index)
- attribute: atributo com valores múltiplos
- index: índice para um item na cadeia de caracteres com vários valores.
Comentários:
a função Item é útil com a função Contains, desde que a última função retorne o índice para um item no atributo de valores múltiplos.
Gera um erro se o índice está fora dos limites.
Exemplo:
Mid(Item([proxyAddresses],Contains([proxyAddresses], "SMTP:")),6)
retorna o endereço de email principal.
ItemOrNull
Descrição:
a função ItemOrNull retorna um item de um atributo/cadeia de caracteres de valores múltiplos.
Sintaxe:
var ItemOrNull(mvstr attribute, num index)
- attribute: atributo com valores múltiplos
- index: índice para um item na cadeia de caracteres com vários valores.
Comentários:
a função ItemOrNull é útil com a função Contains, desde que a última função retorne o índice para um item no atributo de valores múltiplos.
Se o índice estiver fora dos limites, retornará um valor Null.
Join
Descrição:
a função Join obtém uma cadeia de caracteres de valores múltiplos e retorna uma cadeia de caracteres de um único valor com um separador especificado inserido entre cada item.
Sintaxe:
str Join(mvstr attribute)
str Join(mvstr attribute, str Delimiter)
- attribute: um atributo de valores múltiplos contendo cadeias de caracteres a serem unidas.
- delimiter: qualquer cadeia de caracteres usada para separar as subcadeias de caracteres na cadeia de caracteres retornada. Se omitido, o caractere de espaço (" ") será usado. Se o Delimitador é uma cadeia de caracteres de comprimento zero ("") ou Nada, todos os itens na lista são concatenados sem delimitadores.
Comentários
há paridade entre as funções Join e Split. A função Join pega uma matriz de cadeias de caracteres e une-as usando uma cadeia de caracteres do delimitador, 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 importante é que a Join pode concatenar cadeias de caracteres com qualquer cadeia de caracteres delimitadora, enquanto Split só pode separar cadeias de caracteres usando um único caractere delimitador.
Exemplo:
Join([proxyAddresses],",")
Poderia retornar: "SMTP: john.doe@contoso.com,smtp: jd@contoso.com"
LCase
Descrição:
a função LCase converte todos os caracteres de uma cadeia de caracteres em letras minúsculas.
Sintaxe:
str LCase(str value)
Exemplo:
LCase("TeSt")
retorna "test".
Esquerda
Descrição:
a função Left retorna um número especificado de caracteres a partir da esquerda de uma cadeia de caracteres.
Sintaxe:
str Left(str string, num NumChars)
- string: a cadeia de caracteres da qual retornar caracteres
- NumChars: um número que identifica o número de caracteres a ser retroando do início (esquerda) da cadeia de caracteres
Comentários:
uma cadeia de caracteres que contém os primeiros caracteres numChars na cadeia de caracteres:
- Se numChars = 0, retorne a cadeia de caracteres vazia.
- Se numChars < 0, retorne a cadeia de caracteres de entrada.
- Se a cadeia de caracteres for nula, retorne a cadeia de caracteres vazia.
Se a cadeia de caracteres contiver menos caracteres que o número especificado em numChars, uma cadeia de caracteres idêntica à cadeia (ou seja, que contém todos os caracteres no parâmetro 1) será retornada.
Exemplo:
Left("John Doe", 3)
retorna "Joh".
Len
Descrição:
a função Len retorna o número de caracteres em uma cadeia de caracteres.
Sintaxe:
num Len(str value)
Exemplo:
Len("John Doe")
retorna 8
LTrim
Descrição:
a função LTrim remove os espaços em branco à esquerda de uma cadeia de caracteres.
Sintaxe:
str LTrim(str value)
Exemplo:
LTrim(" Test ")
retorna "Test"
Mid
Descrição:
a função Mid retorna um número especificado de caracteres a partir 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
- start: um número que identifica a posição inicial na cadeia de caracteres da qual retornar caracteres
- NumChars: um número que identifica o número de caracteres a ser retornado da posição
Comentários:
retorna os caracteres numChars começando na posição inicial da cadeia de caracteres.
Uma cadeia de caracteres contendo caracteres numChars desde a posição inicial na cadeia de caracteres:
- Se numChars = 0, retorne a cadeia de caracteres vazia.
- Se numChars < 0, retorne a cadeia de caracteres de entrada.
- Se start > o comprimento da cadeia de caracteres, retorne a cadeia de caracteres de entrada.
- Se start <= 0, retorne a cadeia de caracteres de entrada.
- Se a cadeia de caracteres for nula, retorne a cadeia de caracteres vazia.
Se não houver nenhum caractere numChar restante na cadeia de caracteres a partir da posição inicial, o máximo possível de caracteres será retornado.
Exemplo:
Mid("John Doe", 3, 5)
retorna "hn Do".
Mid("John Doe", 6, 999)
retorna "Doe"
Agora
Descrição:
a função Now retorna um DateTime especificando a data e a hora atuais, de acordo com a data e a hora do sistema do seu computador.
Sintaxe:
dt Now()
NumFromDate
Descrição:
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"))
retorna 129699324000000000
PadLeft
Descrição:
a função PadLeft preenche à esquerda uma cadeia de caracteres até um tamanho especificado usando um caractere de preenchimento fornecido.
Sintaxe:
str PadLeft(str string, num length, str padCharacter)
- string: a cadeia de caracteres a preencher.
- length: um inteiro que representa o comprimento da cadeia de caracteres desejado.
- padCharacter: uma cadeia de caracteres que consiste em um único caractere a ser usado como o caractere de preenchimento
Comentários:
- Se o comprimento da cadeia de caracteres for menor que length, padCharacter será acrescentado repetidamente ao início (esquerda) da cadeia de caracteres até que ela tenha um comprimento igual a length.
- PadCharacter pode ser um caractere de espaço, mas não pode ser um valor nulo.
- Se o comprimento da cadeia de caracteres é igual ou maior que length, a cadeia de caracteres é retornada inalterada.
- Se a cadeia de caracteres tem um comprimento maior que ou igual a length, uma cadeia de caracteres idêntica à cadeia de caracteres em questão será retornada.
- Se o comprimento da cadeia de caracteres for menor que length, uma nova cadeia de caracteres do comprimento desejado é retornada, contendo a cadeia de caracteres preenchida com um padCharacter.
- Se a cadeia de caracteres é nula, a função retorna uma cadeia de caracteres vazia.
Exemplo:
PadLeft("User", 10, "0")
retorna "000000User".
PadRight
Descrição:
a função PadRight preenche à direita uma cadeia de caracteres até um comprimento especificado usando um caractere de preenchimento fornecido.
Sintaxe:
str PadRight(str string, num length, str padCharacter)
- string: a cadeia de caracteres a preencher.
- length: um inteiro que representa o comprimento da cadeia de caracteres desejado.
- padCharacter: uma cadeia de caracteres que consiste em um único caractere a ser usado como o caractere de preenchimento
Comentários:
- Se o comprimento da cadeia de caracteres for menor que length, padCharacter será acrescentado repetidamente ao final (direita) da cadeia de caracteres até que ela tenha um comprimento igual a length.
- PadCharacter pode ser um caractere de espaço, mas não pode ser um valor nulo.
- Se o comprimento da cadeia de caracteres é igual ou maior que length, a cadeia de caracteres é retornada inalterada.
- Se a cadeia de caracteres tem um comprimento maior que ou igual a length, uma cadeia de caracteres idêntica à cadeia de caracteres em questão será retornada.
- Se o comprimento da cadeia de caracteres for menor que length, uma nova cadeia de caracteres do comprimento desejado é retornada, contendo a cadeia de caracteres preenchida com um padCharacter.
- Se a cadeia de caracteres é nula, a função retorna uma cadeia de caracteres vazia.
Exemplo:
PadRight("User", 10, "0")
retorna "User000000".
PCase
Descrição:
a função PCase converte em letras maiúsculas o primeiro caractere de cada palavra delimitada por espaço em uma cadeia de caracteres, enquanto todos os outros caracteres são convertidos em letras minúsculas.
Sintaxe:
String PCase(string)
Comentários:
- Essa função atualmente não fornece o uso de maiúsculas apropriado para converter uma palavra que está totalmente em letras maiúsculas, como um acrônimo.
Exemplo:
PCase("TEsT")
retorna "test".
PCase(LCase("TEST"))
Retorna "Test"
RandomNum
Descrição:
a função RandomNum retorna um número aleatório em um intervalo especificado.
Sintaxe:
num RandomNum(num start, num end)
- start: um número que identifica o limite inferior do valor aleatório a ser gerado
- end: um número que identifica o limite superior do valor aleatório a gerar
Exemplo:
Random(100,999)
pode retornar 734.
RemoveDuplicates
Descrição:
a função RemoveDuplicates obtém uma cadeia de caracteres de valores múltiplos e verifica se cada valor é exclusivo.
Sintaxe:
mvstr RemoveDuplicates(mvstr attribute)
Exemplo:
RemoveDuplicates([proxyAddresses])
retorna um atributo proxyAddress corrigido no qual todos os valores duplicados foram removidos.
Substitua
Descrição:
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 na qual substituir valores.
- OldValue: a cadeia de caracteres pela qual pesquisar e a qual substituir.
- NewValue: a cadeia de caracteres a substituir.
Comentários:
a função reconhece os seguintes monikers especiais:
- \n - Nova linha
- \r - Retorno de carro
- \t - Guia
Exemplo:
Replace([address],"\r\n",", ")
substitui CRLF por uma vírgula e espaço, e pode levar a "One Microsoft Way, Redmond, WA, USA"
ReplaceChars
Descrição:
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 na qual substituir caracteres.
- ReplacePattern: uma cadeia de caracteres que contém um dicionário com caracteres a substituir.
O formato é {origem1}:{destino1},{origem2}:{destino2},{origemN},{destinoN}, em que a origem é o caractere a localizar e destino é a cadeia de caracteres com a qual trabalhar.
Comentários:
- A função considera cada ocorrência de origens definidas e as substitui pelos destinos.
- A origem deve ter exatamente um caractere (Unicode).
- A origem não pode ser vazia nem maior que um caractere (erro de análise).
- O destino pode ter vários caracteres, por exemplo, ö:oe, β:ss.
- O destino pode ser vazio, o que indica que o caractere deve ser removido.
- A origem diferencia as letras maiúsculas de minúsculas e deve ser uma correspondência exata.
- A , (vírgula) e : (dois-pontos) são caracteres reservados e não podem ser substituídos usando essa função.
- Espaços e outros caracteres em branco na cadeia de caracteres ReplacePattern são ignorados.
Exemplo:
%ReplaceString% = ’:,Å:A,Ä:A,Ö:O,å:a,ä:a,ö,o
ReplaceChars("Räksmörgås",%ReplaceString%)
retorna Raksmorgas
ReplaceChars("O’Neil",%ReplaceString%)
retorna "ONeil", o único tique é definido para ser removido.
Direita
Descrição:
a função Right retorna um número especificado de caracteres a partir da direita (final) 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 ser retornado do final (direita) da cadeia de caracteres
Comentários:
os caracteres de NumChars são retornados a partir 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 a cadeia de caracteres for nula, retorne a cadeia de caracteres vazia.
Se a cadeia de caracteres contém menos caracteres do que o número especificado em NumChars, uma cadeia de caracteres idêntica à cadeia de caracteres será retornada.
Exemplo:
Right("John Doe", 3)
retorna "Doe".
RTrim
Descrição:
a função RTrim remove os espaços em branco à direita de uma cadeia de caracteres.
Sintaxe:
str RTrim(str value)
Exemplo:
RTrim(" Test ")
retorna "Test".
Selecionar
Descrição:
Processa todos os valores em um atributo de valores múltiplos (ou a 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 valores múltiplos
- attribute: o atributo de valores múltiplos
- expression: uma expressão que retorna uma coleção de valores
- condition: qualquer função que possa processar um item no atributo
Exemplos:
Select($item,[otherPhone],Replace($item,"-",""))
Retorna todos os valores no atributo de valores múltiplos otherPhone depois que os hifens (-) foram removidos.
Divisão
Descrição:
a função Split obtém uma cadeia de caracteres separada por um delimitador e transforma-a em uma cadeia de caracteres de valores múltiplos.
Sintaxe:
mvstr Split(str value, str delimiter)
mvstr Split(str value, str delimiter, num limit)
- valor: a cadeia de caracteres com um caractere delimitador para separar.
- delimitador: um único caractere a ser usado como o delimitador.
- limite: o número máximo de valores que podem ser retornados.
Exemplo:
Split("SMTP:john.doe@contoso.com,smtp:jd@contoso.com",",")
retorna uma cadeia de caracteres de valores múltiplos com dois elementos úteis para o atributo proxyAddress.
StringFromGuid
Descrição:
a função StringFromGuid obtém um GUID binário e converte-o em uma cadeia de caracteres
Sintaxe:
str StringFromGuid(bin GUID)
StringFromSid
Descrição:
a função StringFromSid converte uma matriz de bytes, que contém um identificador de segurança, em uma cadeia de caracteres.
Sintaxe:
str StringFromSid(bin ObjectSID)
Comutador
Descrição:
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.
Comentários:
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 avaliada como True é retornado. Se as partes não tiverem pares adequados, ocorrerá um erro em tempo de execução.
Por exemplo, se expr1 for True, o comutador retornará valor1. Se expr-1 for False, mas expr-2 for True, Switch retorna valor-2 e assim por diante.
Switch retorna um Nothing se:
- Nenhuma das expressões são True.
- A primeira expressão True tem um valor correspondente que é Null.
Switch avalia todas as expressões, mesmo que retorne apenas uma delas. Por essa razão, você deve tomar cuidado com efeitos colaterais indesejáveis. Por exemplo, se a avaliação de qualquer expressão resulta em um erro de divisão por zero, ocorrerá um erro.
O valor também pode ser a função Error, que retornaria uma cadeia de caracteres personalizada.
Exemplo:
Switch([city] = "London", "English", [city] = "Rome", "Italian", [city] = "Paris", "French", True, Error("Unknown city"))
retorna o idioma falado em algumas das maiores cidades; caso contrário, retorna um Erro.
Trim
Descrição:
a função Trim remove os espaços em branco à esquerda e à direita de uma cadeia de caracteres.
Sintaxe:
str Trim(str value)
Exemplo:
Trim(" Test ")
retorna "test".
Trim([proxyAddresses])
remove espaços à direita e à esquerda para cada valor no atributo proxyAddress.
UCase
Descrição:
a função UCase converte todos os caracteres de uma cadeia de caracteres em letras maiúsculas.
Sintaxe:
str UCase(str string)
Exemplo:
UCase("TeSt")
retorna "test".
Where
Descrição:
Retorna um subconjunto de valores de um atributo de valores múltiplos (ou a saída de uma expressão) com base em uma 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 valores múltiplos
- attribute: o atributo de valores múltiplos
- condition: qualquer expressão que possa ser avaliada como verdadeira ou falsa
- expression: uma expressão que retorna uma coleção de valores
Exemplo:
Where($item,[userCertificate],CertNotAfter($item)>Now())
Retorna os valores do certificado no atributo de valores múltiplos userCertificate que não estão expirados.
With
Descrição:
A função With fornece uma maneira para 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)
- variable: representa a subexpressão.
- subExpression: a subexpressão representada pela variável.
- complexExpression: uma expressão complexa.
Exemplo:
With($unExpiredCerts,Where($item,[userCertificate],CertNotAfter($item)>Now()),IIF(Count($unExpiredCerts)>0,$unExpiredCerts,NULL))
É funcionalmente equivalente à:
IIF (Count(Where($item,[userCertificate],CertNotAfter($item)>Now()))>0, Where($item,[userCertificate],CertNotAfter($item)>Now()),NULL)
Que retorna apenas os valores de certificado não expirados no atributo userCertificate.
Word
Descrição:
a função Word retorna uma palavra contida em uma cadeia de caracteres com base nos parâmetros que descrevem os delimitadores a serem usados e o número de palavras a serem retornadas.
Sintaxe:
str Word(str string, num WordNumber, str delimiters)
- string: a cadeia de caracteres da qual retornar uma palavra
- WordNumber: um número que identifica qual número de palavras deve retornar.
- delimitadores: uma cadeia de caracteres que representa o delimitador(es) que deve ser usado para identificar palavras
Comentários:
cada cadeia de caracteres separada por um dos caracteres delimitadores na cadeia de caracteres é identificada como palavra:
- Se number < 1, retorna uma cadeia de caracteres vazia.
- Se a cadeia de caracteres for nula, retorna a cadeia de caracteres vazia.
Se a cadeia de caracteres for menor que o número de palavras ou a cadeia não contiver nenhuma palavra identificada por delimitadores, uma cadeia de caracteres vazia será retornada.
Exemplo:
Word("The quick brown fox",3," ")
retorna "brown"
Word("This,string!has&many separators",3,",!&#")
retornaria "has"