Vamos mergulhar em como construir uma ferramenta de teste de porta PowerShell que permite testar portas abertas por número de porta e rótulo.
Para construir um script robusto que não vai falhar e morrer em metade dos seus servidores, é importante primeiro garantir que os pré-requisitos necessários para obter o resultado final estejam atendidos.
Quais são esses pré-requisitos? Pré-requisitos são serviços como FTP, HTTP, DCOM, WMI, WSMAN, etc. A conexão que você está tentando fazer com um servidor geralmente depende de serviços como esses.
Existe uma hierarquia de várias camadas de verificações que você pode realizar em seus servidores antes de tentar fazer uma conexão, dependendo de quão detalhista você quer ser.
Para começar, você tem toda a pilha OSI para percorrer no lado da rede. Isso não inclui os serviços no sistema host de onde você está executando o script e tudo mais no sistema host remoto.
Um dos primeiros testes que você precisa realizar ao consultar um servidor remoto é verificar se as portas de rede apropriadas estão abertas e acessíveis. Dependendo dos serviços em execução no servidor remoto, depende das portas que você precisa consultar.
I always used to either not even attempting to test port connections or fumbling around with finding that latest Test-Port script I had scavenged somewhere. Once I found it to figure out what ports I actually needed to a test ahead of time. Today was the final straw.
I needed to query a set of domain controllers before running some CIM queries against them. I went about my normal fumbling around and decided enough was enough and sat down and built my own, fully featured port testing script.
Com a ajuda deste script Technet, consegui criar um bom par de funções PowerShell que não só permitem testar portas TCP e UDP abertas, mas também testar grupos de portas por função do servidor. Não é mais necessário procurar no Google toda vez para saber quais portas um serviço usa!
Concedido, especialmente para o Active Directory, as portas podem variar de acordo com o sistema operacional do servidor, vários serviços em um controlador de domínio, etc. Sinta-se à vontade para ajustá-las conforme necessário para o seu ambiente.
Aqui está uma captura de tela de um exemplo de uso:

Como você pode ver, é possível especificar quantos servidores desejar, e ele produzirá uma lista organizada de objetos, divididos pelo grupo de porta de serviço e a porta para cada computador. Até agora, tem sido muito útil! Espero que você tire proveito dele assim como eu!