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.