NOTÍCIAS

[ANONYMOUS][grids]

O que é teste de infraestrutura e como fazer isso com o PowerShell


Como todos tentamos fazer mais com menos com a automação, às vezes chegamos a um ponto em que temos um novo problema. Agora, estamos executando tantos scripts e processos que, no final, não sabemos ao certo o que fizemos. parece
Se estamos executando um script de provisionamento de usuário que cria um usuário do AD (Active Directory), uma caixa de correio do Exchange ou uma pasta pessoal, como sabemos realmente que o script fez tudo o que deveria? Nós não. Podemos notar que não houve um erro e também verificar as coisas posteriormente. Mas se o script estiver cobrindo 1.000 usuários, não há 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 é chamado livremente de teste de infraestrutura. O que é teste de infraestrutura? Significa qualquer código que lê valores de configuração de várias coisas no ambiente de TI e os compara aos valores esperados.
Alguns exemplos de testes de infraestrutura incluem:
  •  “ Esse usuário do AD foi criado com os atributos certos?
  •  A porta 80 está respondendo no meu servidor da web? ”
  •  “ O serviço DHCP está em execução? ”
A discussão sobre testes de infraestrutura é muito maior do que temos em um único artigo, mas posso dar-lhe uma vantagem. Quando você começar a escrever esses testes, começará a perceber padrões; você começará a perceber que está escrevendo repetidamente o mesmo tipo de código, aplicado apenas a coisas diferentes. Em vez de copiar e colar o tempo todo, você pode compartilhar esse código na forma de um script ou função do PowerShell.
Vamos examinar alguns exemplos comuns de scripts que eu uso para me ajudar a garantir que minha infraestrutura esteja configurada adequadamente.

Testando uma porta de rede

Um exemplo típico de teste de infraestrutura é testar uma porta de rede. Como todos os serviços de rede se abrem e escutam em uma porta específica, um teste real de se esse serviço está instalado; ou não é confirmar se uma porta específica está disponível para computadores remotos. Para construir esse teste, porém, é necessário bastante conhecimento sobre TCP, UDP e . NET. Felizmente, você pode usar um script existente da comunidade chamado Test-NetworkPort. ps1. É possível fazer o download desse script na Galeria do PowerShell executando Install-Script -Name Test-NetworkPort.
Após o download, basta chamá-lo usando Test-NetworkPort. ps1 e passar o nome e a porta do computador para testar.

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

Dependendo se a porta estiver escutando ou não, esse script retornará Verdadeiro ou Falso. Você pode explorar outros parâmetros que esse script possui lendo a ajuda associada a ele, através do Get-Help Test-NetworkPort. ps1.

Este script executa um teste na infraestrutura que escuta em uma porta específica.

Testando a resolução de nomes DNS

Ao abrir uma nova máquina, seja usando o DNS dinâmico para registrar o nome ou se você estiver criando um registro DNS explicitamente, precisará garantir que o nome possa ser resolvido. Com o PowerShell, você pode usar um script que tente resolver um nome específico e retornar True ou False, se ele puder ser resolvido ou não.

Assim como no nosso exemplo de teste de porta, também podemos baixar esse script da Galeria do PowerShell, também via Install-Script -Name Test-DnsNameResolution.
Quando o download estiver concluído, basta chamar 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 controlador de domínio do servidor DNS poderá resolver o nome de DC. mylab. local. Caso contrário, ele retornaria False.

Conclusão

Os exemplos fornecidos aqui são apenas dois entre milhares. O objetivo deste artigo não é mostrar a você como executar testes de infraestrutura, mas mais o guiar na criação de seus próprios.

Para criar testes de infra-estrutura bem desenvolvidos, é necessário primeiro definir o que significa ser criado "“ up" ” ou "“ esperado", criando um script do PowerShell para encontrar o estado atual e o esperado e tomar uma decisão a partir daí.

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