J'apprécierais que vous m'aidiez à modifier le script ci-dessous afin qu'il puisse vérifier et convertir la liste d'IPAddress et de hostname en quelque chose comme :
DomainController1 - 10.1.1.10 - UP
CoreGatewayRTR1 - 10.1.1.254 - DOWN
JohnPC01 - NO-IP-Address - DOWN
LindaLaptop02 - 10.1.1.234 - DOWN
.
.
.
C'est un défi pour moi de convertir l'IP en DNSName et le DNSName en IP puis de vérifier le statut en ligne basé sur le Ping,
Voici le script que j'ai trouvé jusqu'à présent :
$computers= gc C:\ListOfDevices.txt
foreach ($computername in $computers) {
$DNS = [System.Net.Dns]::GetHostEntry($ComputerName)
$HostName = $DNS.HostName
$IP = $DNS.AddressList
Trap { Continue }
if (Test-Connection $DNS -erroraction SilentlyContinue -Count 1 ) {
write-host "$Hostname - $IP - UP" -ForegroundColor GREEN
}
else {
write-host "$Hostname - $IP - DOWN" -ForegroundColor RED
}
}
Cependant, le script ci-dessus a toujours une erreur logique mineure comme suit :
-
tous les résultats sont toujours affichés en bas ?
-
une partie du résultat est toujours dupliquée alors que l'adresse IP de cet hôte particulier est unique ?
Toute forme d'aide serait grandement appréciée.
Gracias.