Migrar um dominio Active Directory de um servidor para outro e uma operacao critica que requer a transferencia de funcoes FSMO (Flexible Single Master Operations), garantia de replicacao adequada e descomissionamento limpo do controlador de dominio antigo. Este guia percorre o processo completo, desde a compreensao das funcoes FSMO ate a realizacao da transferencia e a limpeza posterior.

Entendendo as funcoes FSMO

O Active Directory usa um modelo de replicacao multi-master onde a maioria das alteracoes pode ser feita em qualquer controlador de dominio. No entanto, cinco operacoes especificas requerem um unico servidor autoritativo para evitar conflitos. Estas sao as funcoes FSMO.

Funcoes de nivel de floresta (uma por floresta)

FuncaoFinalidade
Schema MasterControla todas as modificacoes de esquema (adicionando atributos, classes). Apenas um DC pode modificar o esquema por vez.
Domain Naming MasterControla a adicao e remocao de dominios na floresta. Deve estar disponivel ao criar ou excluir dominios.

Funcoes de nivel de dominio (uma por dominio)

FuncaoFinalidade
PDC EmulatorLida com alteracoes de senha, bloqueios de conta, sincronizacao de hora e atualizacoes de Group Policy. A funcao mais critica para operacoes do dia a dia.
RID MasterAloca pools de Relative IDs (RIDs) para controladores de dominio. Todo objeto de seguranca (usuario, grupo, computador) precisa de um RID unico.
Infrastructure MasterAtualiza referencias entre dominios (por exemplo, quando um usuario de um dominio e membro de um grupo em outro dominio).

Identificando os detentores atuais das funcoes FSMO

Usando PowerShell (recomendado):

# Show all FSMO role holders for the domain
Get-ADDomain | Select-Object InfrastructureMaster, PDCEmulator, RIDMaster

# Show forest-wide role holders
Get-ADForest | Select-Object SchemaMaster, DomainNamingMaster

# Quick view of all roles
netdom query fsmo

Usando a interface grafica:

  • Schema Master: Abra o snap-in Schema (registre schmmgmt.dll primeiro com regsvr32 schmmgmt.dll), clique com o botao direito em “Active Directory Schema” > Operations Master
  • Domain Naming Master: Active Directory Domains and Trusts > clique com o botao direito na raiz > Operations Master
  • PDC Emulator, RID Master, Infrastructure Master: Active Directory Users and Computers > clique com o botao direito no dominio > Operations Masters

Processo de migracao passo a passo

Passo 1: Preparar o novo servidor

Instale o novo Windows Server e configure:

  • Endereco IP estatico e configuracoes DNS corretas (apontando para o DC atual)
  • Nome do host do servidor
  • Atualizacoes do Windows aplicadas

Passo 2: Promover o novo servidor a controlador de dominio

Windows Server 2012 e versoes posteriores (Assistente de Instalacao do AD DS):

  1. Abra Server Manager > Add Roles and Features
  2. Selecione Active Directory Domain Services
  3. Apos a instalacao, clique na bandeira de notificacao e selecione Promote this server to a domain controller
  4. Escolha Add a domain controller to an existing domain
  5. Insira o nome do dominio e as credenciais
  6. Configure as opcoes de DNS e Global Catalog
  7. Complete o assistente e reinicie

Usando PowerShell:

# Install the AD DS role
Install-WindowsFeature AD-Domain-Services -IncludeManagementTools

# Promote to domain controller
Install-ADDSDomainController `
    -DomainName "corp.example.com" `
    -InstallDns:$true `
    -Credential (Get-Credential) `
    -SiteName "Default-First-Site-Name" `
    -DatabasePath "C:\Windows\NTDS" `
    -LogPath "C:\Windows\NTDS" `
    -SysvolPath "C:\Windows\SYSVOL" `
    -NoGlobalCatalog:$false `
    -Force:$true

Legado: dcpromo (Windows Server 2008 R2 e anteriores):

dcpromo /ReplicaOrNewDomain:Replica /ReplicaDomainDNSName:corp.example.com /ConfirmGc:Yes /UserName:CORP\admin /Password:*

Passo 3: Verificar a replicacao

Antes de transferir funcoes, garanta que a replicacao AD esteja saudavel entre os DCs antigo e novo:

# Check replication status
repadmin /replsummary

# Show replication partners
repadmin /showrepl

# Force replication
repadmin /syncall /AdeP
# Check replication with PowerShell
Get-ADReplicationPartnerMetadata -Target "newdc01.corp.example.com"

Aguarde ate que a replicacao nao mostre erros antes de prosseguir.

Passo 4: Transferir as funcoes FSMO

Metodo A: Usando PowerShell (Recomendado)

# Transfer all five roles to the new DC
Move-ADDirectoryServerOperationMasterRole -Identity "NEWDC01" `
    -OperationMasterRole SchemaMaster, DomainNamingMaster, PDCEmulator, RIDMaster, InfrastructureMaster

# Confirm when prompted

Para transferir funcoes individualmente:

Move-ADDirectoryServerOperationMasterRole -Identity "NEWDC01" -OperationMasterRole PDCEmulator
Move-ADDirectoryServerOperationMasterRole -Identity "NEWDC01" -OperationMasterRole RIDMaster
Move-ADDirectoryServerOperationMasterRole -Identity "NEWDC01" -OperationMasterRole InfrastructureMaster
Move-ADDirectoryServerOperationMasterRole -Identity "NEWDC01" -OperationMasterRole SchemaMaster
Move-ADDirectoryServerOperationMasterRole -Identity "NEWDC01" -OperationMasterRole DomainNamingMaster

Metodo B: Usando ntdsutil (Linha de comando)

ntdsutil
roles
connections
connect to server NEWDC01.corp.example.com
quit
transfer schema master
transfer naming master
transfer pdc
transfer rid master
transfer infrastructure master
quit
quit

Cada comando de transferencia solicitara confirmacao.

Metodo C: Usando a interface grafica

  • PDC Emulator, RID Master, Infrastructure Master:

    1. Abra Active Directory Users and Computers
    2. Clique com o botao direito no dominio > Change Domain Controller > Selecione o novo DC
    3. Clique com o botao direito no dominio > Operations Masters
    4. Transfira cada funcao na respectiva aba
  • Domain Naming Master:

    1. Abra Active Directory Domains and Trusts
    2. Altere o foco para o novo DC
    3. Clique com o botao direito > Operations Master > Change
  • Schema Master:

    1. Registre o snap-in: regsvr32 schmmgmt.dll
    2. Abra um MMC e adicione o snap-in Active Directory Schema
    3. Altere o foco para o novo DC
    4. Clique com o botao direito em Active Directory Schema > Operations Master > Change

Passo 5: Verificar a transferencia

# Confirm new role holders
netdom query fsmo

# Should show NEWDC01 for all roles
Get-ADDomain | Select-Object PDCEmulator, RIDMaster, InfrastructureMaster
Get-ADForest | Select-Object SchemaMaster, DomainNamingMaster

Apreensao de funcoes FSMO (Somente emergencia)

Se o DC antigo estiver permanentemente offline e nao puder ser recuperado, voce deve apreender as funcoes em vez de transferi-las:

ntdsutil
roles
connections
connect to server NEWDC01.corp.example.com
quit
seize schema master
seize naming master
seize pdc
seize rid master
seize infrastructure master
quit
quit

Ou usando PowerShell:

Move-ADDirectoryServerOperationMasterRole -Identity "NEWDC01" `
    -OperationMasterRole SchemaMaster, DomainNamingMaster, PDCEmulator, RIDMaster, InfrastructureMaster `
    -Force

Aviso: Um controlador de dominio cujas funcoes foram apreendidas nunca deve ser reconectado a rede. Isso causaria conflitos no diretorio.

Rebaixando o controlador de dominio antigo

Depois que todas as funcoes forem transferidas e verificadas:

Windows Server 2012 e versoes posteriores:

# Demote the old DC
Uninstall-ADDSDomainController -DemoteOperationMasterRole:$true -Force

# After reboot, remove the AD DS role
Uninstall-WindowsFeature AD-Domain-Services -IncludeManagementTools

Legado (Windows Server 2008 R2 e anteriores):

dcpromo /forceremoval

Apos o rebaixamento

  1. Verifique se o DC antigo nao aparece mais em Active Directory Sites and Services
  2. Remova quaisquer registros DNS apontando para o DC antigo
  3. Verifique se os compartilhamentos SYSVOL e NETLOGON estao funcionando no novo DC

Limpeza de metadados

Se o DC antigo nao foi rebaixado adequadamente (falhou, removido forcosamente), limpe seus metadados:

ntdsutil
metadata cleanup
connections
connect to server NEWDC01.corp.example.com
quit
select operation target
list domains
select domain 0
list sites
select site 0
list servers in site
select server [number of old DC]
quit
remove selected server
quit
quit

Ou use PowerShell para remover a conta do computador e os registros DNS:

# Remove the old DC's computer object
Get-ADDomainController -Identity "OLDDC01" | Remove-ADDomainController -Force

# Clean up DNS records manually
# Open DNS Manager and remove A, CNAME, SRV records for the old DC

Consideracoes de DNS

O DNS e fortemente integrado ao Active Directory. Durante a migracao:

  • Garanta que o novo DC seja um servidor DNS — Instale a funcao DNS durante a promocao do DC.
  • Verifique se as zonas DNS integradas ao AD estao replicando para o novo DC.
  • Atualize o DHCP — Se o DHCP distribui enderecos de servidores DNS, atualize para apontar para o novo DC.
  • Atualize as configuracoes DNS dos clientes — Maquinas usando o IP do DC antigo para DNS precisam ser atualizadas.
  • Verifique os registros SRV — Garanta que _ldap._tcp, _kerberos._tcp e outros registros SRV apontem para o novo DC:
    nslookup -type=srv _ldap._tcp.dc._msdcs.corp.example.com

Resumo

Transferir um dominio AD de um servidor para outro envolve promover um novo DC, verificar a replicacao, transferir todas as cinco funcoes FSMO e rebaixar o DC antigo de forma limpa. Use o Move-ADDirectoryServerOperationMasterRole do PowerShell para a transferencia de funcoes mais facil e sempre verifique com netdom query fsmo depois. Se o DC antigo for irrecuperavel, apreenda as funcoes e realize a limpeza de metadados. Preste muita atencao ao DNS durante todo o processo, pois o AD depende inteiramente da configuracao adequada do DNS.