Compartilhar via


Exportação simplificada de usuários e grupos com LDIFDE - Dica do MCT para a prova 70-411

https://1.bp.blogspot.com/-QOV1Pmj0tQY/V3Wa1TC2rTI/AAAAAAAAJus/QsEs7LiM5O82vmLJ7uegbPUU3oufrakswCLcB/s320/MTI-Logo-1024x1015.png

Imagine que você precisa (por qualquer motivo que seja), exportar os objetos de seu domínio para outro. Você pode querer criar um ambiente de homologação, ou apenas levar uma estrutura pronta para um domínio diferente. Para efetuar essa atividade, podemos utilizar uma ferramenta nativa do Windows Server, chamado de LDIFDE. Essa ferramenta não é uma novidade e já era cobrada nas provas do Windows Server 2003 e Windows Server 2008. Agora é cobrada pela prova 70-411 do Windows Server 2012 R2.

Uma das tarefas mais legais e complexas que se pode fazer, esta ligada diretamente a exportação e importação de usuários através de ferramentas de linha de comando. De forma simplificada, deixo aqui alguns itens de teste para quem pretende iniciar nesta atividade.

A ferramenta LDIFDE pode ser utilizada para ajudar com o dia a dia da exportação de forma simples. Veja nos exemplos abaixo uma amostra desse funcionamento. Esta ferramenta só funciona em controladores de domínio e servidores Microsoft.

O parâmetro -r permite identificar um filtro de qual objeto levar para o arquivo de texto. É bom lembrar que o pare metro user (usuário), leva também as contas de computadores.

O parâmetro -l leva itens de atributo do objeto, como por exemplo o nome de usuários, e-mail, etc.

O parâmetro -f identifica o arquivo que deve conter tais dados.

Dica: Primeiro exporte as unidades organizacionais e importe dentro da nova estrutura. Depois recomendo que você exporte os grupos e importe no novo domínio. Para finalizar exporte os usuários com suas atribuições de grupo e então faça a importação no novo domínio. Esse processo reconstrói a estrutura base de controle e pode ajudar em ambientes de homologação ou até mesmo de reconstrução.

Exportando usuários

  • ldifde -r "(objectClass=user)" -l objectclass,dn,cn,sn,givenName,displayName,name,department,company,sAMAccountName,userPrincipalName,mail -f c:\user.txt

Saída do comando:
**
**

dn: CN=SRV1,CN=Computers,DC=htbraz,DC=local

changetype: add

objectClass: top

objectClass: person

objectClass: organizationalPerson

objectClass: user

objectClass: computer

cn: SRV1

displayName: SRV1

name: SRV1

sAMAccountName: SRV1

Exportando Grupos

  • ldifde -r "(objectClass=group)" -l objectclass,dn,cn,description,name,distinguishedName,sAMAccountName,memberOf -f c:\grupos.txt
  • ldifde -r "(objectClass=group)" -l objectclass,dn,cn,name,sAMAccountName -f c:\grupos.txt

Saída do comando:
**
**

dn: CN=Network Configuration Operators,CN=Builtin,DC=htbraz,DC=local

changetype: add

objectClass: top

objectClass: group

cn: Network Configuration Operators

name: Network Configuration Operators

sAMAccountName: Network Configuration Operators

Help do LDIFDE

Parâmetros Gerais

==================

-i              Ativar o Modo de Importação (o padrão é Exportar)

-f nome_de_arquivo    Nome do arquivo de Entrada ou Saída

-s nome_do_servidor  O servidor ao qual se associar (o padrão é o controlador de

 domínio do domínio do computador)

-c FromDN ToDN  Substituir ocorrências de FromDN por ToDN

                Caso FromDN ou ToDN termine com #attributeName, o

                valor do atributo será pesquisado em rootDSE e usado para

                substituir #attributeName.  Consulte o exemplo de "Expansão de m

acro

                em DNs".

-v              Ativar o Modo Detalhado

-j caminho         Local do Arquivo de Log

-t porta         Número da porta (padrão = 389)

-u              Usar formato Unicode

-w tempo limite     Terminar execução se o servidor demorar mais do que o

                número especificado de segundos para responder a uma operação

                (padrão = nenhum tempo limite especificado)

-h              Habilitar assinatura e criptografia de camada SASL

-?              Ajuda

Específico de Exportação

===============

-d RootDN       A raiz da pesquisa LDAP (O padrão é contexto de nomenclatura)

-r Filter       Filtro de pesquisa LDAP (O padrão é "(objectClass=*)")

-p SearchScope  Escopo da Pesquisa (Base/One Level/Subtree)

-l list         Lista de atributos (separados por vírgula) que serão examinados

                em uma pesquisa LDAP

-o list         Lista de atributos (separados por vírgula) a serem omitidos na

                entrada.

-g              Desabilitar Pesquisa Paginável.

-m              Habilitar lógica SAM na exportação.

-n              Não exportar valores binários

-x              Incluir objetos excluídos (marcas de exclusão)

-1              Reter apenas o replPropertyMetadata importante

Importar

======

-k              A importação continua a ignorar erros de 'Violação de Restrição'

                e 'Objeto Já Existe'

-y              A importação usará a confirmação lenta para melhorar o desempenh

o

                (habilitada por padrão)

-e              A importação não usará a confirmação lenta

-q threads       A importação usará o número especificado de threads

                (o padrão é 1)

-z              Continuar a importar independentemente de erros.

-x              Habilitar suporte à reanimação de marcas de exclusão) (passa con

trole de

                objetos excluídos com solicitações de modificação ldap)

Estabelecimento de Credenciais

=========================

Observe que, se nenhuma credencial for especificada, LDIFDE será associado

como o usuário atualmente conectado, usando SSPI.

-a UserDN [Password | *]            Autenticação simples

-b UserName Domínio [Password | *]   Método de associação SSPI

Exemplo: Importação simples de domínio atual

    ldifde -i -f INPUT.LDF

Exemplo: Exportação simples de domínio atual

    ldifde -f OUTPUT.LDF

Exemplo: Exportação de domínio específico com credenciais

    ldifde -m -f OUTPUT.LDF

           -b USERNAME DOMAINNAME *

           -s SERVERNAME

           -d "cn=usuários,DC=DOMAINNAME,DC=Microsoft,DC=Com"

           -r "(objectClass=usuário)"

Exemplo: Expansão de macro em DNs

    ldifde -f export.ldf -c "#configurationNamingContext" "cn=configuração,dc=x"

    ldifde -i -f import.ldf -c "cn=configuração,dc=x" "#configurationNamingConte

xt"

Nenhum arquivo de log foi gravado.  Para gerar um arquivo de log,

especifique o caminho do arquivo de log usando a opção -j.