O que são testes de infraestrutura e como fazer isso com o PowerShell?

Conteúdo

Logotipo de Powershell

Como todos nós tentamos fazer mais com menos com automação, às vezes chegamos a um ponto em que temos um novo problema. Agora estamos executando tantos scripts e processos que, ao final, não temos certeza de como é “feito”

Se estivermos executando um script de provisionamento de usuário que cria um usuário AD (Active Directory), uma caixa de correio ou pasta pessoal do Exchange, Como sabemos realmente que o script fez tudo o que deveria fazer? Não podemos perceber que um erro não foi gerado e também verificamos as coisas depois. Mas se o script cobre 1,000 Comercial, não tem como isso ser viável. Também precisamos usar a automação de teste!!

O que é teste de infraestrutura?

Uma maneira de automatizar esse tipo de teste é com o que geralmente é conhecido como teste de infraestrutura.. O que é teste de infraestrutura? Significa qualquer código que lê os valores de configuração de várias coisas no ambiente de TI e os compara com os valores esperados.

Alguns exemplos de teste de infraestrutura incluem:

  • “Esse usuário AD foi criado com os atributos adequados?”
  • “O Porto 80 responder no meu servidor web?”
  • “O serviço DHCP está em execução??”

A discussão sobre teste de infraestrutura é muito maior do que temos tempo em uma única postagem, mas eu posso te dar uma vantagem. Conforme você começa a escrever esses testes, você começará a notar padrões; você começará a perceber que está escrevendo repetidamente o mesmo tipo de código, apenas aplicado a coisas diferentes. Em vez de copiar e colar o tempo todo, você pode compartilhar este código na forma de um script ou função do PowerShell.

Vejamos alguns exemplos de script comuns que utilizo para ajudar a garantir que minha infraestrutura esteja configurada corretamente.

Testando uma porta de rede

Um exemplo típico de teste de infraestrutura é testar uma porta de rede. Porque todos os serviços de rede abrem e escutam em uma porta particular, um verdadeiro teste para saber se esse serviço é “ativo” ou não está confirmando que uma porta específica está habilitada para computadores remotos. Apesar disto, para construir este teste, uma boa dose de conhecimento sobre o TCP é necessária, UDP e .NET. Por sorte, você pode usar um script de comunidade existente chamado Test-NetworkPort.ps1. Este script pode ser baixado do Galeria PowerShell através da execução Install-Script -Name Test-NetworkPort.

Depois de baixado, apenas ligue para ele usando Test-NetworkPort.ps1 e passar um nome de computador e porta para testar.

PS > Test-NetworkPort.ps1 -ComputerName DC -Port 389
True

Dependendo se a porta está escutando ou não, este script irá retornar True o False. Você pode explorar outros parâmetros que este script possui lendo a ajuda associada a ele por meio de Get-Help Test-NetworkPort.ps1.

Este script realiza um prova sobre ele a infraestrutura ouvindo em uma porta particular.

Teste de resolução de nome DNS

Ao abrir uma nova máquina, se você depende do DNS dinâmico para registrar o nome ou se está criando explicitamente um registro DNS, você precisará certificar-se de que seu nome pode ser resolvido. Con PowerShell, você pode usar um script que tenta corrigir um nome específico e retornar True o False se pode ser resolvido ou não.

Tal como acontece com nosso exemplo de teste de porta, também podemos baixar este script da Galeria do PowerShell por meio de Install-Script -Name Test-DnsNameResolution.

Quando o download for concluído, apenas ligue Test-DnsNameResolution.ps1 com o nome e o servidor DNS que você deseja consultar.

PS> Test-DnsNameResolution.ps1 -Name DC.mylab.local -Server DC
False

Se o script retornar True, o servidor DNS corrente continua pode resolver o nome de DC.mylab.local. Mas, Eu teria retornado False.

conclusão

Os exemplos fornecidos aqui são apenas dois entre centenas. O objetivo desta postagem não é mostrar a você Desculpe-me para testes de infraestrutura, mas mais para guiá-lo na criação do seu próprio.

Para criar testes de infraestrutura bem desenvolvidos, é necessário primeiro estabelecer o que significa ser “ativo” o “esperado”, crie um script do PowerShell para encontrar o estado atual e esperado e faça uma escolha a partir daí.

Não continue a confirmar manualmente se sua infraestrutura está funcionando conforme o esperado. Comece a criar alguns scripts do PowerShell e automatize esses processos mundanos para você!!

Assine a nossa newsletter

Nós não enviaremos SPAM para você. Nós odiamos isso tanto quanto você.