Personalizado e definição de atributo de nome é ignorada pelo ADMA

Traduções de Artigos Traduções de Artigos
Artigo: 312388 - Ver produtos para os quais este artigo se aplica.
Este artigo foi arquivado. Este artigo é oferecido "tal como está" e deixará de ser actualizado.
Expandir tudo | Reduzir tudo

Sintomas

Se utilizar serviços de metadirectórios de Microsoft (MMS) para criar novos objectos no ambas do Active Directory gestão agente (ADMA) conexão espaço e no Active Directory, estes objectos inesperadamente utilize o nome distinto relativo do objecto metaverse. Este problema ocorre mesmo se configurar ADMA para criar um atributo personalizado do Nome completo . Normalmente, o nome distinto relativo é nome comum do objecto metaverse. Quando este problema ocorre, mensagens de erro não iniciou em qualquer um dos ficheiros de registo para avisar de que a configuração personalizada foi ignorada.

Nota : Este artigo descreve a causa este problema e como resolvê-lo. No entanto, leia o seguinte artigo cuidadosamente para rever a forma como o atributo de Nome completo está configurado. MMS e o ADMA configura o atributo de Nome completo diferente do que o Nome a apresentar correspondente e atributos de Nome de início de sessão do utilizador .

311027Configurar ADMA para definir um atributo personalizado nome completo

Causa

Este problema poderá ocorrer se existir um nome distinto relativo vários componentes no nome distinto metaverse ( $mv.dn ). O nome distinto relativo do Active Directory e o conector de espaço de nome distinto relativo têm de corresponder; no entanto, do Active Directory não suporta vários componentes nomes distintos relativos. Para obter mais informações sobre o componente de vários nomes distintos relativos, consulte a secção "Mais informação" deste artigo.

O modelo de conexões novo contém um código que modifica automaticamente o nome comum se existir um sinal de adição (+) no nome distinto do objecto. Esta funcionalidade garante que o nome distinto relativo que cria MMS para o objecto do Active Directory é compatível com os requisitos do Active Directory. Os nomes distintos relativos tem de corresponder para garantir que o novo objecto do Active Directory com êxito é identificado por MMS durante identificações subsequentes.

Resolução

A Microsoft fornece exemplos de programação apenas, para fins sem garantia expressa ou implícita. Isto inclui, mas não está limitado a, as garantias implícitas de comercialização ou adequação a um fim específico. Este artigo pressupõe que está familiarizado com a linguagem de programação apresentada e as ferramentas que são utilizadas para criar e depurar procedimentos. Os técnicos de suporte da Microsoft podem ajudar a explicar a funcionalidade de um determinado procedimento, mas não modificarão estes exemplos para proporcionarem funcionalidades adicionais nem criarão procedimentos adaptados às necessidades específicas do utilizador. Para resolver este problema:
  1. Utilize Compass para iniciar sessão MMS como administrador.
  2. Faça clique sobre Agentes de gestão no menu de marcadores no painel da esquerda.
  3. Clique em ADMA adequado no painel da direita.
  4. Clique em Estrutura MA no menu de Acções no painel da esquerda.
  5. Clique no separador Controlo de ligação do .
  6. Clique no separador Modelos de construção de saída .
  7. Clique no separador Novas conexões .
  8. Localize a seguinte secção:
    # We need to escape the  comma in the RDN
    $v_fullName = $replace($v_fullName, ",", "\,")
    
       if $EXISTS($v_fullName) = TRUE
          then
              if $EMBEDDED(" + ", $mv.dn) = TRUE
              then
                 $v_cdDn = CN= $GET_SUBSTRING($DN_COMPONENT($mv.dn, 1), "", " + ") , $parent("$v_cdDn")
                 else
                 $v_cdDn = CN= $v_fullName , $parent("$v_cdDn")
              endif
          endif
  9. Substitua o código que localizou no passo anterior com o seguinte código:
       if $EXISTS($v_fullName) = TRUE
          then
             if $EMBEDDED(" + ", $v_fullname) = TRUE
               then
               $v_cdDn = CN= $GET_SUBSTRING($DN_COMPONENT($v_fullname, 1), "", " + ") , $parent("$v_cdDn")
               else
               $v_cdDn = CN= $v_fullName , $parent("$v_cdDn")
             endif
       endif
    						
    Nota : O código precedente é utilizado em ambos os uma secção para utilizadores e uma secção para contactos. Se o objecto for um contacto, o código está localizado posteriormente no modelo. Certifique-se que altere a secção correcta do código consoante se o objecto afectado for um utilizador ou um contacto.
  10. Clique em OK .

Mais Informação

As seguintes informações são provenientes do RFC Request for Comments () 1485, "A cadeia de representação de nomes distintos":
A notação "+" é utilizada para especificar o componente de vários nomes distintos relativos. Neste caso, tipos de atributos no nome distinto relativo têm de ser explícitos.
Um nome distinto relativo vários componente é definido como um nome distinto relativo que utiliza dois atributos para criar o nome distinto relativo. Dois atributos são concatenados utilizando um sinal de adição (+). O seguinte nome distinto é um exemplo de um nome distinto em que o primeiro nome é um nome distinto relativo vários componentes:
CN = João Silva + UID = 1234, ou = vendas, dc = Microsoft, dc = com
É o seguinte código do modelo novo conexões de um ADMA MMS 2.2 Service Pack 1 (SP1) e é utilizada para processar um objecto de utilizador. Também é utilizado o mesmo código básico para um objecto contacto posteriormente no modelo. Nas primeiro duas secções de código, testa o modelo para o valor de atributo $ msMMS-AdMaUserFullNameProjection (o objecto de utilizador) ou o valor de atributo $ msMMS-AdMaContactFullNameProjection (objecto contacto). Este valor depende da configuração do atributo Nome completo para os utilizadores ou contactos tal como definido no separador Definições de criação do Active Directory na caixa de diálogo configurar o serviço de gestão . No exemplo seguinte, o atributo $ v_fullname é atribuído um valor que se baseia o modelo de criação do nome completo. Este modelo está definido no atributo $ msMMS-AdMaUserFullNameProjection ou valor de atributo $ msMMS-AdMaContactFullNameProjection , dependendo se o objecto é um utilizador ou um contacto.

Nota : O seguinte código não reflecte a solução descrita na secção "Resolução" deste artigo:
# Check if this object will be a user in which case we must apply the 
# user fullname construction rule
if $exist($multi_valued("$MA()", $mv.msMMS-managedByMA)) = TRUE
    then
        if $MA($msMMS-AdMaUserFullNameProjection) = SurnameCommaGivenName
        then
           $v_fullName = ($mv.sn, )($mv.givenName)
         else
            if $MA($msMMS-AdMaUserFullNameProjection) = Custom
            then
               $v_fullName = $export_template("$MA($msMMS-AdMaUserFullNameProjectionTemplate)")
            else
               $v_fullName = $mv.cn
            endif
         endif

      # The object is going to become a contact in AD
      # The contact fullname construction rule should be applied
      else
         if $MA($msMMS-AdMaContactFullNameProjection) = SurnameCommaGivenName
         then
           $v_fullName = ($mv.sn, )($mv.givenName)
         else
            if $MA($msMMS-AdMaContactFullNameProjection) = Custom
            then
               $v_fullName = $export_template("$MA($msMMS-AdMaContactFullNameProjectionTemplate)")
            else
               $v_fullName = $mv.cn
            endif
         endif

# We need to escape the  comma in the RDN
$v_fullName = $replace($v_fullName, ",", "\,")

   if $EXISTS($v_fullName) = TRUE
      then
          if $EMBEDDED(" + ", $mv.dn) = TRUE
          then
             $v_cdDn = CN= $GET_SUBSTRING($DN_COMPONENT($mv.dn, 1), "", " + ") , $parent("$v_cdDn")
             else
             $v_cdDn = CN= $v_fullName , $parent("$v_cdDn")
          endif
      endif
				
este código de exemplo processa o seguinte nome distinto relativo vários componentes da seguinte forma:
CN=Jeff Smith+UID=1234,ou=Sales,dc=Microsoft,dc=com
				
primeiro, o objecto satisfaz a primeira condição do sinal de adição (+) incorporado:
if $EMBEDDED(" + ", $mv.dn) = TRUE
				
seguinte, a função $ GET_SUBSTRING e a função $ DN_COMPONENT separar a primeira parte do componente de vários nome distinto relativo:
$v_cdDn = CN= $GET_SUBSTRING($DN_COMPONENT($mv.dn, 1), "", " + ") , $parent("$v_cdDn")
				
a função PARENT $ é utilizada para adicionar o resto da estrutura do objecto.

A última secção o código de exemplo, é utilizado o atributo $ v_fullname até o último teste condicional. Se a função $EMBEDDED() localiza um sinal de adição (+) no nome distinto do objecto (se $ INCORPORADO ("+", $ mv.dn) = TRUE), o atributo v_fullname $ não é utilizado como o nome distinto relativo da variável v_cdDn $ . Em vez disso, quando MMS cria o atributo de Nome completo (nome comum), procura a primeira parte do componente de vários nome distinto relativo e tem tudo o que precede o sinal de adição (+):
($v_cdDn = CN= $GET_SUBSTRING($DN_COMPONENT($mv.dn, 1), "", " + ") , $parent("$v_cdDn"))
a variável $ v_cdDn é utilizada para criar objectos de espaço variável $cs.dn para o conector. Uma vez que o espaço de conexão relativo distinto nome e o nome distinto relativo directório ligados têm de corresponder quando são criadas no ADMA, os objectos que são criados no Active Directory utilize apenas a primeira parte do nome completo valor múltiplo em vez do valor de $ v_fullname , conforme esperado.

Propriedades

Artigo: 312388 - Última revisão: 24 de fevereiro de 2014 - Revisão: 3.1
A informação contida neste artigo aplica-se a:
  • Microsoft Metadirectory Services 2.2 Service Pack 1
  • Microsoft Metadirectory Services 2.2 Service Pack 1
Palavras-chave: 
kbnosurvey kbarchive kbmt kbcode kbenv kbprb KB312388 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 312388

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com