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ê!!