O cmdlet de hoje é PowerShell Test-Connection. Test-Connection
é um cmdlet que, não surpreendentemente, testa sua conexão de rede. Pense no Test-Connection
como a implementação PowerShell do utilitário ping popular. Mesmo que ambos tenham ICMP em comum, você verá que os dois métodos são um pouco diferentes internamente.
Usar este cmdlet é simples. Na forma mais básica, basta especificar um parâmetro ComputerName
e ele enviará quatro solicitações ICMP para o host de destino.
Esta saída se parece com o ping.exe e, superficialmente, é, mas o PowerShell test-connection emite a solicitação ICMP de forma um pouco diferente. Ao contrário do ping.exe, Test-Connection
está usando a classe WMI do computador local Win32_PingStatus para enviar a solicitação ICMP. Usar o repositório WMI local significa que você deve ter certeza de que seu repositório WMI local está saudável, caso contrário, o Test-Connection
não funcionará.
Saída de objeto do PowerShell Test-Connection
Também, como acontece com a beleza do PowerShell, este cmdlet não retorna apenas o que aparece imediatamente no console. Vemos objetos ricos dos quais podemos obter mais informações.
Se eu atribuir a saída a uma variável e verificar as propriedades, você pode ver que reuni muitas informações úteis.
Se você estiver testando hosts internos, Test-Connection
usará DCOM para autenticar nos hosts remotos. Por padrão, ele usará Autenticação DCOM em nível de pacote, mas o tipo de autenticação sempre pode ser alterado com o parâmetro DcomAuthentication
.
Usando Trabalhos em Segundo Plano
Este cmdlet também pode ser executado como um trabalho em segundo plano. Trabalhos em segundo plano são úteis se você tiver muitos computadores remotos para pingar e, em vez de esperar para sempre por aqueles que eventualmente expirarão, basta enviá-los para um trabalho em segundo plano.
De acordo com a ajuda do PowerShell para testes de conexão do Powershell, diz que o acesso remoto do PowerShell deve estar habilitado em ambos os computadores local e remoto, mas isso não é verdade. Como você pode ver abaixo, estou testando google.com, e o comando ainda funciona muito bem.


Mantendo Simples
Finalmente, se você estiver apenas procurando por uma resposta binária sim/não para saber se um computador está respondendo ou não, você sempre pode usar o parâmetro Quiet
. Uma sequência comum que sempre uso para ver rapidamente se um servidor está online ou não é usar Quiet
e Count
de 1 para forçar Test-Connection
a enviar uma única solicitação ICMP.
É isso para o nosso cmdlet do dia! Cobrimos a maioria do que é possível com o teste de conexão do PowerShell, mas, como sempre, confira o conteúdo de ajuda do PowerShell ou vá para a documentação da Microsoft para uma explicação completa.
Source:
https://adamtheautomator.com/powershell-test-connection/