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



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.

Postar um comentário

Comente sem faltar com respeito - ;-)

Postagem Anterior Próxima Postagem