2016-04-13 9 views
0

Ich versuche die IP-Adresse zu diesem Skript hinzuzufügen, es wäre perfekt, wenn ich das zum Laufen bringen könnte. Jede Hilfe wird sehr geschätzt. Die Eingabedateien haben Hostnamen, und ich möchte die IP-Adresse in die CSV bitte erhalten.Ermitteln der IP-Adresse bei Verwendung der Testverbindung

$servers = Get-content "servers.txt" 
$collection = $() 
foreach ($server in $servers) 
{ 
    $status = @{ "ServerName" = $server; "TimeStamp" = (Get-Date -f s);"IP" = what to put here? } 
    if (Test-Connection $server -Count 1 -ea 0 -Quiet) 
    { 
     $status["Results"] = "Up" 
    } 
    else 
    { 
     $status["Results"] = "Down" 
    } 
    New-Object -TypeName PSObject -Property $status -OutVariable serverStatus 
    $collection += $serverStatus 

} 
$collection | Export-Csv -LiteralPath .\ServerStatus.csv -NoTypeInformation 

Antwort

3

Die Verwendung von -Quiet würde die gesuchten Informationen unterdrücken. Entfernen Sie die Stille und erfassen Sie stattdessen die Ergebnisse in einer Variablen, die Sie dann sowohl für den Erfolg als auch für die IP-Adresse abfragen können.

Ich bin mir nicht sicher, ob diese Logik irreführende Informationen produzieren würde, aber ich spiele gerade damit herum.

Wenn Sie bereits gemacht die Umstellung auf IPv6 dann könnten Sie interessieren mehr in ($result.IPV6Address).IPAddressToString

+1

auch '($ result.IPV6Address) .IPAddressToString' auch funktioniert, wenn Ihre Server auf die neue IP-Konfiguration geschaltet werden :) – krousemw

+0

DANKE !!!! Das hat super funktioniert. – Steve

+0

Könnte ich NSLOOKUP für die fehlgeschlagenen hinzufügen? – Steve

Verwandte Themen