Ai pessoal segue uma dica que pode ajudar quem tem muitos Domain Controllers numa rede.
1º) baixe e intale os Resource Kit e o Support tools, não sei bem qual deles tem o que necessitamos aqui, mas como esse dois tools são muito bons, pra não falar indispensáveis… Não custa nada.
2º) Tem que alterar os nomes “servidor1″ , “sevidor2″, etc e também “yourdomain”.
3º) é só salvar, o script abaixo como .vbs e rodar em um dos DC.
___________________________________________________________________________________________________
On Error Resume Next
‘Cria uma janela do IE para a visualização
Set objExplorer = WScript.CreateObject(“InternetExplorer.Application”)
objExplorer.Navigate “about:blank”
objExplorer.ToolBar = 0
objExplorer.StatusBar = 0
objExplorer.Width=350
objExplorer.Height = 700
objExplorer.Left = 0
objExplorer.Top = 0
Do While (objExplorer.Busy)
Wscript.Sleep 200
Loop
objExplorer.Visible = 1
‘Mostra o texto inicial no IE
objExplorer.Document.Body.InnerHTML = objExplorer.Document.Body.InnerHTML & “<font face=’arial’, size = ‘3′><b>Script de Replicação do AD</b></font><br><br>”
‘Verifica instalação Support Tools
Dim comDLL
Set comDLL=Createobject(“IADsTools.DCFunctions”)
If Err.Number > 0 Then
objExplorer.Document.Body.InnerHTML = objExplorer.Document.Body.InnerHTML & “<font face=’arial’, size = ‘2′, color=’#FF0000′>Error: É necessário instalar o Windows 2000 Server ou Windows Server 2003 Support Tools Resource Kit para rodar este script…</font><br>”
wscript.quit
End If
‘Chama a função de replicação para cada servidor (lista o servidor para replicar por primeiro, depois o servidor principal)
Call Replicate(“servidor2″,”servidor1″)
Call Replicate(“servidor3″,”servidor2″)
Call Wait(20)
Call Replicate(“servidor4″,”servidor3″)
Call Replicate(“servidor5″,”servidor4″)
Call Wait(20)
Call Replicate(“servidor5″,”servidor4″)
Call Replicate(“servidor4″,”servidor3″)
Call Replicate(“servidor3″,”servidor2″)
‘Mostra que a replicação ocorreu com sucesso para todos os servidores
objExplorer.Document.Body.InnerHTML = objExplorer.Document.Body.InnerHTML & “<font face=’arial’, size = ‘2′><br>Replicação para todos os servidores completada com sucesso.</font><br>”
Function Replicate(strDestination,strSource)
‘Mostra iniciando a replicação
objExplorer.Document.Body.InnerHTML = objExplorer.Document.Body.InnerHTML & “<font face=’arial’, size = ‘2′>Iniciando a replicação de <b>” & strSource & “</b> para <b>” & strDestination & “</b>…</font><br>”
‘Inicia a replicação
Result=comDLL.ReplicaSync(cstr(strDestination),”dc=yourdomain,dc=com”,cstr(strSource))
‘Mostra resultados dependendo do erro
If result=0 then
objExplorer.Document.Body.InnerHTML = objExplorer.Document.Body.InnerHTML & “<font face=’arial’, color=’#008000′, size = ‘2′><b>Completado</b></font><br><BR>”
else
objExplorer.Document.Body.InnerHTML = objExplorer.Document.Body.InnerHTML & “<font face=’arial’, size = ‘2′, color=’#FF0000′>Falhou.. Não continuará</font><br>”
wscript.quit
End If
End Function
Function Wait(Seconds)
WaitTime = Seconds * 1000
objExplorer.Document.Body.InnerHTML = objExplorer.Document.Body.InnerHTML & “<font face=’arial’, size = ‘2′>Aguarde ” & Seconds & ” segundos…</font><br><br>”
wscript.sleep WaitTime
End Function
__________________________________________________________________________________________________
Espero que ajude.
Abraços