terça-feira, 7 de dezembro de 2010
dnscmd - script para inserir e remover registros DNS no seu servidor de dns windows 2003
== O problema ==
Esses dias precisei inserir e remover registros MX no DNS do servidor do meu trabalho. São cerca de 40 subdomínios que contém MX, não é uma tarefa fácil inserir e remover esses registros manualmente. Com a ajuda de um colega, fizemos o script listado nesse post.
== A solução ==
Para utilizar o script, configure a variável "BASE" com o caminho da pasta base onde se encontra o script; configure a variável "DOMINIO" com o nome do seu domínio; crie um arquivo chamado subdominios.txt na mesma pasta onde se encontra o script, dentro desse arquivo liste todos os subdomínios que deseja alterar, não coloque ".aob.com", ou seja, o complemento do dominio, o arquivo deve ser da seguinte forma:
dominio1
dominio2
dominio3
Para rodar o script, passe os seguintes parametros:
parametro1 = add, para adicionar registros aos subdominios listados em subdominios.txt;
delete para fazer a remoção.
parametro2 = nome do servidor destino dos MX adicionados.
Ex.1:
script.bat add email.aob.com
Esse exemplo adicionará registros MX a todos subdomínios do arquivo subdominios.txt com destino em email.aob.com
Ex.2:
script.bat delete email.aob.com
Esse exemplo deletará todos os registros MX de todos subdomínios do arquivo subdominios.txt com destino em email.aob.com.
== O código do script segue abaixo: ==
@echo off
set BASE=C:\scripts\atualizamx\
set DOMINIO=aob.com
rem add, delete
set comando=%1
rem antispam1,antispam2,...
set servidor=%2
cd %sBase%
if "%1"=="delete" goto delete
if "%1"=="add" goto add
goto fim
:add
FOR /F %%s IN (subdominios.txt) DO (
dnscmd /recordadd %DOMINIO% %%s MX 10 %servidor%
)
goto fim
:delete
FOR /F %%s IN (subdominios.txt) DO (
dnscmd /recorddelete %DOMINIO% %%s MX 10 %servidor% /f
)
:fim
@echo on
Assinar:
Postar comentários (Atom)
2 comentários:
Ótima dica cara!
Mas e se eu precisar adicionar netradas de Host (A) para maquinas que estão listadas em um arquivo txt.. como faço para passar os endereços IP referente a cada máquina?
valeu!
Opa! Se entendi a pergunta, nesse script não dá para fazer isso.
Você terá que incrementar esse script para receber esse arquivo com os ips como parametro.
Postar um comentário