Replicação forçada entre dois controladores de domínio em Active Directory
Imagine ter apenas uma porta para a sua casa. Sem janelas, sem porta de pátio, apenas uma porta. O que acontece se não conseguir abrir essa porta? A casa, e tudo nela, é inútil para si.
Um controlador de domínio é como uma porta, num certo sentido. Uma com um porteiro de segurança. É a porta de entrada para entrar nas coisas que se querem. Active Directory (AD) é o porteiro na porta. Ele verifica as suas credenciais, determina se lhe é permitido passar pela porta, e que recursos pode aceder uma vez lá dentro.
Se estiver a gerir uma rede de qualquer tipo e tiver apenas um controlador de domínio, está a viver numa casa com uma porta. Se algo acontecer a esse controlador de domínio, todo o seu sistema de servidores se desmorona. Tenha sempre mais do que um controlador de domínio (DC).
Mas como se certifica de que ambos os controladores de domínio têm a mesma informação? Digamos que fez uma alteração relacionada com a segurança num CD. Quer certificar-se de que essa alteração é imediatamente replicada nos seus outros CD. Porquê esperar 15 minutos ou mais para que isso aconteça por marcação? Tem de forçar a replicação dos controladores de domínio no Active Directory.
Existem 3 formas de abordar isto; através da interface gráfica do utilizador (GUI), através da interface de linha de comando (CLI), ou através do PowerShell.
Replicação Forçada do Controlador de Domínio Através da GUI
Servidores Windows fazem muito uso das GUIs, o que é bom para Administradores de Sistemas novatos. É mais fácil de aprender e por vezes ajuda-o a visualizar o que realmente está a acontecer.
- Log in to one of your DCs and open Active Directory Sites and Services.
- Navigate para o site para o qual gostaria de replicar os controladores de domínio. Expanda-o clicando na ponta da seta ao lado do nome do sítio. Expanda os Servidores. Expandir o CD que gostaria de replicar. Clique em NTDS Settings.
- No painel direito, clique com o botão direito do rato no servidor e seleccione Replicar Agora.
- Dependente de quantos CDs existam, isto pode demorar menos de um segundo a alguns minutos. Quando estiver completo, verá a notificação, “Active Directory Domain Services replicou as ligações”. Clique OK para terminar.
Force Replication of Domain Controllers Through CLI Command
Se está familiarizado com o bom e velho CMD do Windows, então o comando repadmin é para si. Esta é a forma mais rápida e pontual de forçar a duplicação DC. Se não estiver familiarizado, então esta é uma boa altura para aprender sobre o CMD do Windows.
- log in to one of your DCs and open the Command Prompt.
- Enterrompa o seguinte comando, e depois prima a tecla Enter.
repadmin /syncall /AdeP
- Uma ladainha de informação irá rolar para cima do ecrã. Se vir que a última linha diz, “SyncAll terminado sem erros”, e depois o prompt de comando por baixo dela, os seus CDs são replicados com sucesso.
Replicação do Controlador de Domínio Force com PowerShell
Se não estiver a usar PowerShell na sua vida diária, está a perder. Deve realmente a si próprio aprender PowerShell. Facilitará a sua vida, e se for Administrador de Sistemas Júnior ajudará massivamente a levar a sua carreira para o próximo passo.
Estes passos podem ser feitos na CLI comum PowerShell, mas já o fizemos no PowerShell ISE para melhor mostrar os comandos e os seus resultados. Vamos construir um script que pode guardar ou mesmo transformar num cmdlet que pode chamar a partir da linha de comando PowerShell.
- Log in to one of your DCs e abrir PowerShell ou PowerShell ISE.
- Antes de escrever qualquer script, guarde-o com um nome descritivo como force-DCReplication.ps1 para que possa reutilizá-lo mais facilmente. Introduza o seguinte código e execute-o para ver como vai obter os nomes de todos os seus CDs.
(Get-ADDomainController -Filter *).Name
Ver como devolve os nomes dos CDs? Agora pode canalizar esse resultado para o próximo cmdlet. Um tubo é o caracter de linha vertical ( | ), que se encontra normalmente no teclado logo acima da tecla Enter.
- No final do comando anterior, introduza o seguinte código:
| Foreach-Object { repadmin /syncall $_ (Get-ADDomain).DistinguishedName /AdeP }
O comando deve ter o mesmo aspecto que na imagem abaixo. Execute-o. Deve retornar uma mensagem tal como a que se encontra na secção acima da Replicação do Controlador do Domínio de Força Através da GUI. Se terminar com, “SyncAll terminado sem erros”, então funcionou.
Veja como também usa o comando repadmin?
- La> Adicionemos outra linha para o ajudar a ter a certeza de que a replicação realmente se completou. O seguinte código devolverá a data e a hora da última replicação de cada um dos seus CDs. Este comando pode ser usado por si próprio noutra altura, se estiver apenas curioso para saber quando é que os seus CDs foram replicados pela última vez. Introduza o código e execute-o.
Get-ADReplicationPartnerMetadata -Target "$env:userdnsdomain" -Scope Domain | Select-Object Server, LastReplicationSuccess
O resultado deve assemelhar-se à imagem abaixo. Verá na parte inferior a data e hora exactas da última replicação.
- Para colocar um pouco de polimento neste script, vamos fazer com que a sua saída seja um pouco menos verbosa. Perto do fim da primeira linha, introduza | Out-Null entre o /AdeP e o parêntese final. Isto diz-lhe para não apagar os resultados desse cmdlet. O resultado final parecerá a seguinte imagem.
Keep’em Replicated
Agora conhece 3 formas de forçar a replicação de controladores de domínio em AD. Também montou um script PowerShell reutilizável que pode chamar a partir da linha de comando PowerShell sempre que quiser. Não há desculpa para as suas últimas alterações DC para se sentar e esperar pela próxima replicação programada, sempre que isso possa ser.