10 Comandos do PowerShell para gerir o seu servidor DNS

Partilhar

Descubra 10 comandos do PowerShell para gerir o seu servidor DNS Server e controlá-lo perfeitamente, de maneira simples e investindo o menor tempo possível.

Num artigo anterior, falamos sobre os Comandos do PowerShell para implementar um servidor DNS de forma orientada, e ter assim um servidor DNS completamente funcional com pouco esforço.

Além disso, este processo pode ser estruturado em forma de guião para que possa replicá-lo rapidamente em caso de necessidade, por exemplo, para implementar noutros clientes ou para criar rapidamente um novo servidor DNS em caso de falha.

Neste artigo vamos ver como realizar algumas tarefas de manutenção do servidor DNS através de comandos do PowerShell. Escolhemos 10 comandos que são realmente úteis.

 

10 comandos do PowerShell para a gestão do seu Servidor DNS:

A seguir, veremos alguns cmdlets úteis para gerir o serviço DNS, que nos permitirão administrar este serviço dentro dos sistemas de servidores da Microsoft, minimizando o esforço administrativo.

Devemos dizer que todos estes comandos podem ser executados no ambiente gráfico, mas com o PowerShell é possível poupar muito tempo.

 

1. Parar o sistema DNS:

Uma das primeiras tarefas que precisamos de saber fazer quando mantemos um serviço é pará-lo. Assim, para interromper o serviço DNS, vamos executar o seguinte comando:

Stop-Service DNS

Este comando é comummente usado para parar serviços; com o “DNS” indicamos que queremos parar este serviço.

Este comando só funciona para servidores. Nos clientes, a cache pode ser interrompida, mas o serviço DNS não.

Comando 1. Interrompemos o serviço DNS no servidor com o PowerShell.
Comando 1. Interrompemos o serviço DNS no servidor com o PowerShell.

 

2. Arrancar o sistema DNS:

Da mesma forma que acontece com a paragem do serviço, ao iniciar o serviço de resolução de nomes vamos executar um comando genérico para serviços, mas adaptando-o ao serviço em questão.

O comando é muito parecido com o anterior, e basicamente só temos de mudar o “stop” para “start”:

Start-Service DNS

Normalmente, este comando não mostra nenhuma mensagem de status. Para saber se está a ser executado, pode executar o comando “Get-Service DNS” ou aceder à consola gráfica.

Comando 2. Iniciamos o serviço DNS no servidor com o PowerShell.
Comando 2. Iniciamos o serviço DNS no servidor com o PowerShell.

 

3. Reiniciar o sistema DNS:

Já aprendemos a iniciar e parar o serviço, mas às vezes precisamos de reiniciar, ou seja, fazer uma paragem rápida e iniciar o serviço.

Para fazer isto e forçar o ciclo de paragem e início, executamos o seguinte comando:

Restart-Service DNS

Isto, entre outras coisas, fará com que os ficheiros de configuração sejam lidos novamente e possamos carregar alterações ou resolver erros específicos.

Com estes comandos, já sabemos o básico para poder operar o serviço DNS.

Comando 3. Reiniciamos o serviço DNS no servidor com o PowerShell.
Comando 3. Reiniciamos o serviço DNS no servidor com o PowerShell.

 

4. Verificar a resolução de nomes:

Outra das tarefas mais comuns é verificar a resolução de nomes para ver se o sistema é capaz de resolver um nome específico.

O cmdlet “Resolve-DnsName” executa uma consulta DNS para o nome especificado.

Este cmdlet é funcionalmente semelhante à ferramenta nslookup que permite que os utilizadores consultem nomes.

Para executá-lo, existem duas formas que veremos agora:

  • Executar o comando e dar liberdade ao sistema para resolver o nome.
  • Executar o comando e forçar o sistema a resolver um servidor específico.

A seguir, veremos como executar estas duas opções.

Para o primeiro caso, vamos ver como se faz a resolução do site “www.jotelulu.com”.

Resolve-DnsName -Name www.jotelulu.com

Para o segundo caso, vamos ver como se faz a resolução do site “www.jotelulu.com” com um servidor específico.

Resolve-DnsName -Name www.jotelulu.com -Server 10.0.0.1

Comando 4. Verificação da resolução de nomes com o comando do PowerShell.
Comando 4. Verificação da resolução de nomes com o comando do PowerShell.

 

5. Mostrar o conteúdo da cache do DNS:

Às vezes, pode ser interessante ver o status da cache de resolução de nomes do nosso servidor ou de um cliente. Isto pode ser feito através do método tradicional CMD ou através do nosso poderoso amigo PowerShell.

Para mostrar o conteúdo da cache do servidor DNS com o PowerShell, podemos executar o seguinte comando:

Show-DnsServerCache

Isto irá mostrar-nos muitas páginas de entradas, portanto pode ser boa ideia despejar este output num documento de texto para analisá-lo com cuidado.

Comando 5. Exibir o conteúdo da cache do DNS com o PowerShell.
Comando 5. Exibir o conteúdo da cache do DNS com o PowerShell.

 

6. Limpar a cache do sistema DNS:

Também podemos precisar de limpar a cache do servidor DNS do nosso servidor ou do nosso cliente e, nesse caso, independentemente das opções de CMD que temos disponíveis, podemos usar o nosso próprio comando do PowerShell:

Clear-DnsServerCache

Este comando pode ser executado entre duas consultas para ver a alteração e a redução de volume das entradas.

Comando 6. Limpeza da cache do sistema DNS com o PowerShell.
Comando 6. Limpeza da cache do sistema DNS com o PowerShell.

 

7. Rever as estatísticas do sistema DNS:

Uma tarefa que também pode ser interessante é rever o DNS e obter estatísticas de entradas, consultas, etc.

Para fazer esta consulta, pode usar um cmdlet do PowerShell ou a interface gráfica.

O cmdlet PowerShell é o seguinte:

Get-DnsServerStatistics

Mais uma vez, pode ser interessante exportar a informação para um documento de texto para facilitar a revisão ou para fins de monitorização e auditoria.

Comando 7. Revisão das estatísticas do serviço DNS com o PowerShell.
Comando 7. Revisão das estatísticas do serviço DNS com o PowerShell.

 

8. Rever a configuração do sistema DNS:

Se precisarmos de consultar a configuração do nosso servidor DNS para revisão ou auditoria, também há um comando PowerShell para isso. Assim, não é preciso usar a interface gráfica.

Para exibir os detalhes de configuração do servidor DNS:

Get-DnsServer

Neste caso, também podemos exportar o output da consulta para um ficheiro de texto (.txt), o que permite analisá-lo com facilidade ou monitorizar e auditar possíveis alterações.

Comando 8. Rever a configuração do servidor de DNS com o PowerShell.
Comando 8. Rever a configuração do servidor de DNS com o PowerShell.

 

9. Adicionar novos registos de serviços e equipamento

Outra das tarefas típicas de qualquer infraestrutura de resolução de nomes é o registo e eliminação de registos de serviços, equipamentos e servidores.

Para isso, a primeira coisa que devemos considerar é que existem diferentes tipos de registos dentro do DNS.

Add-DnsServerResourceRecordCName -ZoneName <NOME_ZONA> -Name  <ENTRADA>  -HostNameAlias <ALIAS_COMPLETO>

Onde:

  • Add-DnsServerResourceRecordCName: é o comando para fazer o registo do tipo CNAME.
  • ZoneName <NOME_ZONA>: Identifique a zona em que vamos trabalhar.
  • Name <ENTRADA>: é a entrada que queremos registar.
  • HostNameAlias <ALIAS_COMPLETO>: é o alias da entrada que queremos registar.

Aqui está um exemplo:

Add-DnsServerResourceRecordCName -ZoneName jotelulu.com -Name prueba-nacho -HostNameAlias prueba-nacho-jotelulu.com

No caso do CNAME seria assim, mas isto varia para outros registos.

A seguir indicamos alguns exemplos.

Para Registo PTR (ponteiro):

Add-DNSServerResourceRecordPTR -ZoneName 1.168.192.in-jotelulu.com -Name 12 -PTRDomainName nacho1-jotelulu.com

Para Registo A:

Add-DnsServerResourceRecordA -Name puntero -IPv4Address 192.168.1.122 -ZoneName server1.jotelulu.com -TimeToLive 01:00:00

Para Registo AAA:

Add-DnsServerResourceRecordAAAA -Name “nachopc” -ZoneName “jotelulu.com” -AllowUpdateAny -IPv6Address “fff4::1” -TimeToLive 01:00:00

Para Registo MX:

Add-DnsServerResourceRecordMX -Preference 10  -Name “.” -TimeToLive 01:00:00 -MailExchange “mail.jotelulu.com” -ZoneName “jotelulu.com”

Pode ver mais exemplos na documentação do PowerShell para DNS.

Comando 9. Criação de novos registos de serviços e equipamentos no DNS com o PowerShell.
Comando 9. Criação de novos registos de serviços e equipamentos no DNS com o PowerShell.

 

10. Eliminar registos de serviços e equipamento

Caso precise de remover uma das entradas do registo de uma das zonas de resolução de nomes, deve excluir o registo DNS com o comando “Remove-DnsServerResourceRecord”. Sim, é bastante semelhante ao usado para registar a entrada, apenas muda o verbo inicial.

Remove-DnsServerResourceRecord -ZoneName <NOME_ZONA> -RRType <TIPO_REGISTO> -Name <ENTRADA> –Force

Onde:

  • Remove-DnsServerResourceRecord: é o comando para eliminar um registo.
  • ZoneName <NOME_ZONA>: identifica a zona na qual vamos trabalhar.
  • RRType <TIPO_REGISTO>: é o tipo de registo disponível entre as várias opções (A, AAA, MX, CNAME, etc).
  • Name <ENTRADA>: é a entrada que queremos eliminar.
  • Force: Força a remoção.

Tal como na secção anterior, deve ser feita uma distinção para cada tipo de registo: A, AAA, MX, etc.

Aqui está um exemplo:

Remove-DnsServerResourceRecord -ZoneName jotelulu.com -RRType A -Name pc-jioller –Force

Comando 10. Cancelamos registos de serviços e equipamentos do DNS com o PowerShell.
Comando 10. Cancelamos registos de serviços e equipamentos do DNS com o PowerShell.

 

Conclusões

Como pode ver, conhecer alguns comandos do PowerShell pode ajudar a otimizar o seu servidor DNS com muita facilidade.

Quase todas as tarefas básicas de administração podem ser executadas com os cmdlets que acabamos de mostrar.

Se quiser ler mais sobre este tópico, pode ler o artigo Comandos do PowerShell para implementar um servidor DNS no nosso blog.

E se quiser ler um pouco mais sobre servidores DNS, pode consultar o artigo “O que fazer quando o Servidor DNS não responde“, também no nosso blog.

Obrigado por acompanhar-nos!

Categorias:Cloud e sistemas

Outros artigos que podem interessar-lhe

21 de Fevereiro de 2024
Como empresa de software, é possível que tenha sentido atração pela reputação, variedade de serviços e solidez de algum
21 de Fevereiro de 2024
Para muitas empresas de software, ter uma infraestrutura própria significa independência e controlo, bem como uma potencial fonte de
21 de Fevereiro de 2024
Para um ISV, escolher o fornecedor de serviços cloud ideal é uma decisão crucial que pode impactar a satisfação