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 sejam atendidos.
Quais são esses pré-requisitos? Os pré-requisitos são serviços como FTP, HTTP, DCOM, WMI, WSMAN, etc. A conexão que você está tentando fazer com um servidor normalmente depende de serviços como esses.
Existem várias camadas de verificações que você pode realizar em seus servidores antes de tentar fazer uma conexão, dependendo do quanto você quer ser detalhista.
Para começar, você tem toda a pilha OSI para percorrer do lado da rede. Isso não inclui os serviços no sistema host em que 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, as portas que você precisa consultar podem variar.
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 do Technet, consegui criar um par de funções PowerShell muito boas 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 pesquisar no Google toda vez para descobrir quais portas cada 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á-los conforme necessário para o seu ambiente.
Aqui está uma captura de tela de um exemplo de uso:

Como você pode ver, você pode especificar quantos servidores quiser e ele irá gerar uma lista agradável 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ê consiga tirar proveito dele como eu tenho!