Galera!
Neste dia lindo de eleição recebi um pedido de ajuda que foi: “Crespi, como eu recebo nome do computador da minha rede com PowerShell?
Muito simples …
Primeiro precisamos conhecer uma classe do .NET Framework que fica dentro do Namespace System.Net. O método que utilizaremos é o DNS.GetHostEntry.
Veja abaixo como utilizar:
[system.net.dns]::GetHostentry("10.0.1.1") | Select-Object hostname| fl [system.net.dns]::GetHostbyname("TIME-CAPSULE-DE") | ` select hostname, addresslist
O método GetHostEntry retorna o nome do hostnam, já o GetHostbyName irá retornar os IPs do host.
Abaixo segue uma forma mais simples de utilizar o script para quando houver diversos IPs.
$Ips = "10.0.1.1", "10.0.1.12" $Ips | ForEach-Object {$ErrorActionPreference = "silentlycontinue"; ` ([system.net.dns]::GetHostByAddress($_)).hostname}
Espero que este pequeno script ajude na automatização de coletas da rede. ;)
Abraço, Rodrigo