Referência de funções para o Microsoft Identity Manager 2016

No Microsoft Identity Manager (MIM) 2016, as funções permitem modificar valores de atributos antes de fluí-los para um destino em uma atividade de função ou provisionamento declarativo. O objetivo deste documento é dar-lhe uma visão geral das funções disponíveis e uma descrição de como você pode usá-las.

Configurar mapeamentos de fluxo de atributos é uma tarefa elementar ao configurar regras de sincronização. A forma mais simples de um mapeamento de fluxo de atributos é um mapeamento direto. Conforme indicado pelo nome, um mapeamento direto pega o valor de um atributo de origem e o aplica ao atributo de destino configurado. Há casos em que você precisa que os valores de atributos existentes sejam modificados ou que novos valores de atributos sejam calculados antes que o sistema os aplique a um destino.

As funções são um método interno usado para definir o tipo de modificação que você precisa que o mecanismo de sincronização aplique ao gerar um valor de atributo para um destino.

As funções do MIM são distribuídas nas seguintes categorias:

  • Manipulação de dados: execute uma variedade de operações de manipulação em cadeias de caracteres.

  • Recuperação de dados: extraia dados de valores de atributos.

  • Geração de dados: gerar valores.

  • Lógica: Executar operações com base em condições.

As seções a seguir fornecem mais detalhes sobre as funções em cada categoria.

Funções de manipulação de dados

As funções de manipulação de dados são usadas para executar uma variedade de operações de manipulação em cadeias de caracteres.

Concatenate Detalhe
Descrição A função Concatenar concatena duas ou mais cadeias de caracteres.
Assinatura da função string1 + string2...
Insumos Duas ou mais cordas.
Operações Todos os parâmetros da cadeia de caracteres de entrada são concatenados entre si.
Realização Uma corda.

Maiúsculas Detalhe
Descrição A função maiúsculas converte todos os caracteres de uma cadeia de caracteres em maiúsculas.
Assinatura da função String UpperCase(string)
Insumos Uma corda.
Operações Todos os caracteres minúsculos do parâmetro de entrada são convertidos em caracteres maiúsculos. Por exemplo: UpperCase("test") resulta em "TEST".
Realização Uma corda.

Minúsculas Detalhe
Descrição A função minúscula converte todos os caracteres em uma cadeia de caracteres em minúsculas.
Assinatura da função String LowerCase(string)
Insumos Uma corda.
Operações Todos os caracteres maiúsculos do parâmetro de entrada são convertidos em caracteres minúsculos. Por exemplo: LowerCase("TeSt") resulta em "test".
Realização Uma corda.

ProperCase Detalhe
Descrição A função ProperCase converte o primeiro caractere de cada palavra delimitada por espaço em uma cadeia de caracteres em maiúsculas. Todos os outros caracteres são convertidos em minúsculas.
Assinatura da função String ProperCase(string)
Insumos Uma corda.
Operações O primeiro caractere de cada palavra delimitada por espaço no parâmetro de entrada é convertido em maiúsculas. Todos os caracteres maiúsculos são convertidos em caracteres minúsculos. Se uma palavra no parâmetro de entrada começar com um caractere não alfabético, o primeiro caractere da palavra não será convertido em maiúsculas. Por exemplo:
  • ProperCase("TEsT") resulta em "Test".
  • ProperCase("britta simon") resulta em "Britta Simon".
  • ProperCase(" TEsT") resulta em " Test".
  • ProperCase("\$TEsT") resulta em "\$Test".
Realização Uma corda.

LTrim Detalhe
Descrição A função LTrim remove os espaços em branco à esquerda de uma cadeia de caracteres.
Assinatura da função String LTrim(string)
Insumos Uma corda.
Operações Os caracteres de espaço em branco à esquerda contidos no parâmetro de entrada são removidos. Por exemplo: LTrim(" Test ") resulta em "Test ".
Realização Uma corda.

RTrim Detalhe
Descrição A função RTrim remove os espaços em branco à direita de uma cadeia de caracteres.
Assinatura da função String RTrim(string)
Insumos Uma corda.
Operações Os caracteres de espaço em branco à direita contidos no parâmetro input são removidos. Por exemplo: RTrim(" Test ") resulta em " Test".
Realização Uma corda.

Aparar Detalhe
Descrição A função Trim remove os espaços em branco à esquerda e à direita de uma cadeia de caracteres.
Assinatura da função String Trim(string)
Insumos Uma corda.
Operações Os caracteres de espaço em branco à esquerda e à direita contidos na cadeia de caracteres são removidos. Por exemplo: Trim(" Test ") resulta em "Test".
Realização Uma corda.

RightPad Detalhe
Descrição A função RightPad alfineta uma cadeia de caracteres para um comprimento especificado usando um caractere de preenchimento fornecido.
Assinatura da função String RightPad(string, length, padCharacter)
Insumos
  • string: A string para pad.
  • comprimento: Um inteiro que representa o comprimento desejado da cadeia de caracteres.
  • padCharacter: Uma cadeia de caracteres que consiste em um único caractere a ser usado como um caractere pad.
Operações Se o comprimento de string for menor que comprimento, o padCharacter será repetidamente acrescentado ao final de string até que o comprimento da string seja igual a comprimento. Por exemplo:
  • RightPad("User", 10, "0") resulta em "User000000".
  • RightPad(RandomNum(1,10), 5, "0") pode resultar em "9000".
Realização Se string tiver um comprimento maior ou igual a comprimento, uma string idêntica a string será retornada. Se o comprimento de string for menor que comprimento, uma nova string do comprimento desejado será retornada. A nova cadeia de caracteres contém cadeia de caracteres acolchoada com um padCharacter. Se string for null, a função retornará uma string vazia.

Nota: padCharacter pode ser um caractere de espaço, mas não pode ser um valor nulo. Se o comprimento de string for igual ou maior que comprimento, string será retornada inalterada.

EsquerdaPad Detalhe
Descrição A função LeftPad coloca uma cadeia de caracteres em um comprimento especificado usando um caractere de preenchimento fornecido.
Assinatura da função String LeftPad(string, length, padCharacter)
Insumos
  • string: A string para pad.
  • comprimento: Um inteiro que representa o comprimento desejado da cadeia de caracteres.
  • padCharacter: Uma cadeia de caracteres que consiste em um único caractere a ser usado como um caractere pad.
Operações Se o comprimento de string for menor que comprimento, o padCharacter será repetidamente acrescentado ao início de string até que o comprimento da string seja igual a comprimento. Por exemplo:
  • RightPad("User", 10, "0") resulta em "000000User".
  • RightPad(RandomNum(1,10), 5, "0") pode resultar em "0009".
Realização Se string tiver um comprimento maior ou igual a comprimento, uma string idêntica a string será retornada. Se o comprimento de string for menor que comprimento, uma nova string do comprimento desejado será retornada. A nova cadeia de caracteres contém cadeia de caracteres acolchoada com um padCharacter. Se string for null, a função retornará uma string vazia.

Nota: padCharacter pode ser um caractere de espaço, mas não pode ser um valor nulo. Se o comprimento de string for igual ou maior que comprimento, string será retornada inalterada.

BitOr Detalhe
Descrição A função BitOr define um bit especificado em um sinalizador como 1.
Assinatura da função Int BitOr(mask, flag)
Insumos
  • máscara: Um valor hexadecimal que especifica o bit a ser definido no sinalizador .
  • sinalizador: Um valor hexadecimal que deve ter um bit específico modificado.
Operações Esta função converte ambos os parâmetros para representação binária e compara-os:
  • Define um bit como 1 se um ou ambos os bits correspondentes em máscara e sinalizador forem 1.
  • Define um bit como 0 se ambos os bits correspondentes forem 0.
  • Retorna 1 em todos os casos, exceto quando os bits correspondentes de ambos os parâmetros são 0.
  • O padrão de bits resultante é o "set" (1 ou true) bits de qualquer um dos dois operandos.
  • Vários sinalizadores bits podem ser definidos se vários bits tiverem o valor 1 em máscara.
Realização Uma nova versão do sinalizador com os bits especificados em máscara definidos como 1.

BitAnd Detalhe
Descrição A função BitAnd define um bit especificado em um sinalizador como 0.
Assinatura da função Int BitOr(mask, flag)
Insumos
  • máscara: Um valor hexadecimal que especifica o bit a ser modificado no sinalizador .
  • sinalizador: Um valor hexadecimal que deve ter um bit específico modificado.
Operações Esta função converte ambos os parâmetros para representação binária e compara-os:
  • Define um bit como 0 se um ou ambos os bits correspondentes na máscara e sinalizador forem 0.
  • Define um bit como 1 se ambos os bits correspondentes forem 1.
  • Retorna 0 em todos os casos, exceto quando os bits correspondentes de ambos os parâmetros são 1.
  • Vários sinalizadores bits podem ser definidos como 0 se vários bits tiverem o valor 0 em máscara.
Realização Uma nova versão do sinalizador com os bits especificados em máscara definidos como 0.

DateTimeFormat Detalhe
Descrição A função DateTimeFormat é usada para formatar um DateTime em forma de cadeia de caracteres para um formato especificado.
Assinatura da função String DateTimeFormat(dateTime, format)
Insumos
  • dateTime: Uma cadeia de caracteres que representa o formato DateTime.
  • formato: Uma cadeia de caracteres que representa o formato para o qual converter.

Nota: Para os caracteres aceitos para criar formatos definidos pelo usuário, consulte Formatos de data/hora definidos pelo usuário.
Operações A cadeia de caracteres de formato especificada em de formato é aplicada à DateTime na cadeia de caracteres dateTime. A cadeia de caracteres especificada no formato deve ser um formato DateTime válido. Se não estiver, um erro será retornado indicando que o formato não é um formato DateTime válido. Por exemplo: DateTime("12/25/2007", "yyyy-MM-dd") resulta em "2007-12-25".
Realização Uma cadeia de caracteres resultante da aplicação de formato a dateTime.

ConvertSidToString Detalhe
Descrição O ConvertSidToString converte uma matriz de bytes contendo um identificador de segurança em uma cadeia de caracteres.
Assinatura da função String ConvertSidToString(ObjectSID)
Insumos ObjectSID: Uma matriz de bytes que contém um identificador de segurança (SID).
Operações O SID binário especificado é convertido em uma cadeia de caracteres.
Realização Uma representação de cadeia de caracteres do SID.

ConvertStringToGuid Detalhe
Descrição A função ConvertStringToGuid converte a representação de cadeia de caracteres de um GUID em uma representação binária do GUID.
Assinatura da função Byte[] ConvertStringToGuid(stringGuid)
Insumos stringGuid: Uma cadeia de caracteres formatada no padrão xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, onde o valor do GUID é representado como uma série de dígitos hexadecimais em grupos de 8, 4, 4, 4 e 12 dígitos e separados por hífenes. Um exemplo de um valor de retorno é 382c74c3-721d-4f34-80e557657b6cbc27.
Operações O stringGuid é convertido em sua representação binária. Se a cadeia de caracteres não for uma representação de um GUID válido, a função rejeitará o argumento com o erro "O parâmetro para a função ConvertStringToGuid deve ser uma cadeia de caracteres que representa um Guid válido."
Realização Uma representação binária do GUID.

ReplaceString Detalhe
Descrição A função ReplaceString substitui todas as ocorrências de uma cadeia de caracteres por outra cadeia de caracteres.
Assinatura da função String ReplaceString(string, OldValue, NewValue)
Insumos
  • string: A cadeia de caracteres na qual substituir valores.
  • OldValue: A cadeia de caracteres a ser pesquisada e substituída.
  • NewValue: A cadeia de caracteres para substituir.
Operações Todas as ocorrências de OldValue na cadeia de caracteres são substituídas por NewValue . A função deve ser capaz de lidar com os caracteres especiais \n. nova linha, \r. retorno de carro e \t. guia. Por exemplo: ReplaceString("One\n\rMicrosoft\n\r\Way","\n\r"," ") retorna "One Microsoft Way".
Realização Uma cadeia de caracteres com todas as ocorrências de OldValue na cadeia de caracteres substituída por NewValue.

Funções de recuperação de dados

As funções de recuperação de dados são usadas para executar operações que recuperam os caracteres desejados de uma cadeia de caracteres.

Palavra Detalhe
Descrição 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.
Assinatura da função String Word(string, number, delimiters)
Insumos
  • string: A cadeia de caracteres da qual retornar uma palavra.
  • número: Um número que identifica qual o número nominal que deve ser devolvido.
  • delimitadores: Uma cadeia de caracteres que representa os delimitadores que devem ser usados para identificar palavras.
Operações Cada cadeia de caracteres no cadeia de caracteres que é separada por um dos caracteres em delimitadores é identificada como uma palavra. Se string for null, a função retornará uma string vazia. A palavra que foi encontrada na posição especificada em número é retornada. Se número< 1, a função retorna uma cadeia de caracteres vazia. Por exemplo:
  • Word("Test;of%function;", 3, ";$&%") retorna "function".
  • Word("Test;;Function" , 2 , ";") retorna "" (uma cadeia de caracteres vazia).
  • Word("Test;of%function;", 0, ";$&%") retorna "" (uma cadeia de caracteres vazia).
Realização Uma cadeia de caracteres contendo a palavra na posição que o usuário pediu. Se cadeia de caracteres contiver menos de número de palavras, ou cadeia de caracteres não contiver palavras identificadas por delimitadores de , uma cadeia de caracteres vazia será retornada.

Esquerda Detalhe
Descrição A função Left retorna um número especificado de caracteres da esquerda (início) de uma cadeia de caracteres.
Assinatura da função String Left(string, numChars)
Insumos
  • 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 de uma cadeia de caracteres.
Operações numChars caracteres são retornados da primeira posição da cadeia de caracteres . Por exemplo: Left("Britta Simon", 3) retorna "Bri".
Realização Uma cadeia de caracteres que contém o primeiro numChars caracteres na cadeia de caracteres . Se numChars = 0, a função retorna uma cadeia de caracteres vazia. Se numChars< 0, a função retorna uma cadeia de caracteres de entrada. Se string for null, a função retornará uma string vazia.

Certo Detalhe
Descrição A função Right retorna um número especificado de caracteres da direita (fim) de uma cadeia de caracteres.
Assinatura da função String Right(string, numChars)
Insumos
  • 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 de uma cadeia de caracteres.
Operações Retornar numChars caracteres do final da cadeia de caracteres . Por exemplo: Right("Britta Simon", 3) retorna "mon".
Realização Uma cadeia de caracteres que contém os últimos numChars caracteres na cadeia de caracteres . Se numChars = 0, a função retorna uma cadeia de caracteres vazia. Se numChars< 0, a função retorna uma cadeia de caracteres de entrada. Se string for null, a função retornará uma string vazia. Se cadeia de caracteres contiver menos caracteres do que o número especificado em numChars, de cadeia de caracteres será retornada.

Mid Detalhe
Descrição A função Mid retorna um número especificado de caracteres de uma posição especificada em uma cadeia de caracteres.
Assinatura da função String Mid(string, pos, numChars)
Insumos
  • string: A cadeia de caracteres da qual retornar caracteres.
  • pos: Um número que identifica a posição inicial em uma cadeia de caracteres para retornar caracteres.
  • numChars: Um número que identifica o número de caracteres a serem retornados de uma posição na cadeia de caracteres.
Operações Retornar numChars caracteres a partir da posição pos na cadeia de . Por exemplo: Mid("Britta Simon", 3, 5) retorna "itta ".
Realização Uma cadeia de caracteres que contém numChars caracteres da posição pos na cadeia de caracteres . Se numChars = 0, a função retorna uma cadeia de caracteres vazia. Se numChars< 0, a função retorna uma cadeia de caracteres vazia. Se pos> o comprimento de string, a função retornará uma string de entrada. Se pos<= 0, a função retorna uma cadeia de caracteres de entrada. Se string for null, a função retornará uma string vazia. Se não houver numChar caracteres restantes em cadeia de caracteres da posição pos, o maior número possível de caracteres será retornado.

Funções de geração de dados

As funções de geração de dados são usadas para gerar valores para tipos de dados específicos.

CRLF Detalhe
Descrição A função CRLF gera um retorno de carro/alimentação de linha. Use esta função para adicionar uma nova linha.
Assinatura da função String CRLF
Insumos Nenhum.
Operações Um CRLF é retornado. Por exemplo:
AddressLine1 + CRLF() + AddressLine2
resulta em AddressLine1
AddressLine2.
Realização Uma CRLF é a saída.

RandomNum Detalhe
Descrição A função RandomNum retorna um número aleatório dentro de um intervalo especificado.
Assinatura da função Int RandomNum(start, end)
Insumos
  • início: Um número que identifica o limite inferior do valor aleatório a gerar.
  • final: Um número que identifica o limite superior do valor aleatório a gerar.
Operações Um número aleatório maior ou igual a início e menor ou igual a final é gerado. Por exemplo: Random(0,999) pode retornar 100.
Realização Um número aleatório dentro do intervalo especificado por início e fim.

EscapeDNComponent Detalhe
Descrição O método EscapeDNComponent de MIISUtils é usado para executar esta operação. Esse método processa a cadeia de caracteres de entrada com base no tipo de agente de gerenciamento (MA) que está sendo usado.
Assinatura da função String EscapeDNComponent(string)
Insumos string: uma cadeia de caracteres usada para processar um nome distinto. A cadeia de caracteres não deve conter caracteres com escape.
Operações Diferentes MAs exigem diferentes formatos de nomes distintos. Este método processa a de cadeia de caracteres de de entrada com base nos seguintes tipos de MA:
  • nome distinto LDAP: Exemplos desse tipo de MA incluem Serviços de Domínio Ative Directory, Sun Directory Server (anteriormente iPlanet Directory Server) e Microsoft Exchange Server.
    • Todos os caracteres XML inválidos na parte do valor de uma determinada parte são codificados hexadecimal.
    • Quaisquer caracteres ilegais (incluindo caracteres XML inválidos) na parte do nome de uma determinada parte geram um erro.
    • Os caracteres com escape incluem vírgula (,), igual a (=), mais (+), menor que (<), maior que (>), número (#), ponto-e-vírgula (;), barra invertida () e aspas duplas (").
    • Se o último caractere na cadeia de for um espaço ( ), esse espaço será escapado.
    • Todos os espaços à esquerda ou à direita estranhos em torno de um nome de peça são removidos.
    • Para o XML MA, se houver várias partes, as partes serão alfabéticas.
    • Se várias partes forem especificadas, a cadeia de caracteres de nome distinto composta será a concatenação das cadeias de caracteres individuais separadas por sinais de mais (+).
    • Um erro será gerado se a cadeia de caracteres de entrada não for uma cadeia de caracteres de nome distinto bem formada no estilo LDAP.
  • hierárquico não LDAP : Um exemplo deste tipo de MA é o Microsoft Lotus Notes.
    • Este tipo de MA não suporta componentes com várias partes.
    • Se várias cadeias de caracteres forem passadas para EscapeDNComponent, uma ArgumentException será lançada.
    • Se qualquer um dos caracteres no de cadeia de caracteres de de entrada forem caracteres XML inválidos, uma ArgumentException será lançada.
    • Todas as vírgulas (,) e barras invertidas (/) na de cadeia de de entrada são escapadas.
    • Se o último caractere na cadeia de for um espaço ( ), esse espaço será escapado.
  • extrínseco : Exemplos desse tipo de MA incluem bancos de dados ou XML sem um nome distinto LDAP.
    • Se qualquer parte for binária ou contiver um caractere XML inválido, essa parte será armazenada como uma versão codificada hexadecimal dos dados brutos com um caractere numérico (#) prefixado na frente da cadeia de caracteres. Por exemplo, se uma parte foi AxC (onde x representa um caractere XML ilegal, como 0x10), essa parte é codificada como #410010004300. Caso contrário, todas as ocorrências desses caracteres serão escapadas: barra invertida (), vírgula (,), mais (+) e número (#).
    • Se o último caractere em uma determinada cadeia de caracteres de parte for um espaço ( ), esse espaço será escapado.
    • Se várias partes forem especificadas, a cadeia de caracteres de nome distinto composta é a concatenação de todas as cadeias de caracteres individuais separadas por sinais de adição.
Realização Uma cadeia de caracteres que contém um nome de domínio válido.

Observação

A validação de nomes distintos é menos rigorosa do que a sintaxe definida nas especificações LDAP. EscapeDNComponent(String[]) permite que um nome de peça contenha qualquer combinação de um ou mais dos caracteres 'a'-'z', 'A'-'Z', '0'-'9', '-' e '.'.

Não é possível especificar uma parte binária com este método. No entanto, é possível ter uma parte binária em CommitNewConnector se o nome distinto for construído a partir de atributos de âncora e um dos atributos de âncora for um tipo binário.


Nulo Detalhe
Descrição A função Nulo é usada para especificar que a MA não tem um atributo para contribuir, e essa precedência de atributo deve continuar com a próxima MA.
Assinatura da função String Null
Insumos Nenhum.
Operações Um Null é retornado. Por exemplo: IIF(Eq(domain), "unknown", Null()) retorna Null.
Realização Um Null é a saída.

Funções lógicas

As funções lógicas são usadas para executar uma operação com base nas condições avaliadas pelo sistema.

IIF Detalhe
Descrição A função IIF retorna um de um conjunto de valores possíveis com base em uma condição especificada.
Assinatura da função Object IIF(condition, valueIfTrue, valueIfFalse)
Insumos
  • condição: Qualquer valor ou expressão que possa ser avaliado como verdadeiro ou falso. As seguintes funções estão disponíveis para uso como expressões na função IIF para a condição :
    • Eq: Esta função compara dois argumentos a favor da igualdade.
    • NotEquals: Esta função compara dois argumentos para a desigualdade, retornando verdadeiro se não forem iguais e falso se forem iguais. Por exemplo: NotEquals(EmployeeType, "Contractor").
    • LessThan: Esta função compara dois números, retornando true se o primeiro for menor que o segundo e false caso contrário. Por exemplo: LessThan(Salary, 100000).
    • GreaterThan: Esta função compara dois números, retornando true se o primeiro for maior que o segundo e false caso contrário. Por exemplo: GreaterThan(Salary, 100000).
    • LessThanOrEquals: Esta função compara dois números, retornando true se o primeiro for menor ou igual ao segundo e false caso contrário. Por exemplo: LessThanOrEquals(Salary, 100000).
    • GreaterThanOrEquals: Esta função compara dois números, retornando true se o primeiro for maior ou igual ao segundo e false caso contrário. Por exemplo: GreaterThanOrEquals(Salary, 100000).
    • IsPresent: Esta função usa como entrada um atributo no esquema do ILM e retorna true se o atributo não for null e false se o atributo for null.
  • valueIfTrue: Um valor que é retornado se a condição for avaliada como true.
  • valueIfFalse: Um valor que é retornado se a condição for avaliada como false.
Operações Se condição for avaliada como true, a função retornará valueIfTrue. Caso contrário, a função retornará valueIfFalse. Por exemplo: IIF(Eq(EmployeeType,"Intern"),"t-" + Alias, Alias) retorna o alias de um usuário com "t-" adicionado ao início do alias se o usuário for um estagiário. Caso contrário, a função retornará o alias do usuário as-is.
Realização A saída é valueIfTrue se a condição for true ou valueIfFalse se a condição for false.