i used the following to do this:
$no = "not checked" $ro = "not checked" $go = "not checked" $ho = "not checked" $po = "not checked"
$nasobject = New-Object System.Object $nasobject | Add-Member -type NoteProperty -name servername -Value "Depot" $nasobject | Add-Member -type NoteProperty -name serverip -Value "172.28.192.1" $nasobject | Add-Member -type NoteProperty -name serverstatus -Value $no $nasobject | Add-Member -type NoteProperty -name serverchecked -Value $ts $nasobject | Add-Member -type NoteProperty -name result -Value $results
$routerobject = New-Object System.Object $routerobject | Add-Member -type NoteProperty -name servername -Value "Niddrie" $routerobject | Add-Member -type NoteProperty -name serverip -Value "172.28.8.1" $routerobject | Add-Member -type NoteProperty -name serverstatus -Value $ro $routerobject | Add-Member -type NoteProperty -name serverchecked -Value $ts $routerobject | Add-Member -type NoteProperty -name result -Value $results
$googleobject = New-Object System.Object $googleobject | Add-Member -type NoteProperty -name servername -Value "Avondale Heights" $googleobject | Add-Member -type NoteProperty -name serverip -Value "172.28.14.1" $googleobject | Add-Member -type NoteProperty -name serverstatus -Value $go $googleobject | Add-Member -type NoteProperty -name serverchecked -Value $ts $googleobject | Add-Member -type NoteProperty -name result -Value $results
$hostobject = New-Object System.Object $hostobject | Add-Member -type NoteProperty -name servername -Value "Flemington" $hostobject | Add-Member -type NoteProperty -name serverip -Value "172.28.10.1" $hostobject | Add-Member -type NoteProperty -name serverstatus -Value $ho $hostobject | Add-Member -type NoteProperty -name serverchecked -Value $ts $hostobject | Add-Member -type NoteProperty -name result -Value $results
$serverlist = @() $serverlist += $nasobject, $routerobject, $googleobject, $hostobject
while($true){
$ts = get-date -format T
$no = Test-Connection -count 1 -ComputerName $nasobject.serverip -quiet $ho= Test-Connection -count 1 -ComputerName $hostobject.serverip -quiet $ro = Test-Connection -count 1 -ComputerName $routerobject.serverip -quiet $go = Test-Connection -count 1 -ComputerName $googleobject.serverip -quiet
If ($no -eq $True) { $no_result = "Up" } else {$no_result = "down"} If ($ho -eq $True) { $ho_result = "Up" } else {$ho_result = "down"} If ($ro -eq $True) { $ro_result = "Up" } else {$ro_result = "down"} If ($go -eq $True) { $go_result = "Up" } else {$go_result = "down"}
$nasobject | Add-Member -Force -type NoteProperty -name serverchecked -Value $ts $routerobject | Add-Member -Force -type NoteProperty -name serverchecked -Value $ts $googleobject | Add-Member -Force -type NoteProperty -name serverchecked -Value $ts $hostobject | Add-Member -Force -type NoteProperty -name serverchecked -Value $ts
$nasobject | Add-Member -Force -type NoteProperty -name serverstatus -Value $no $routerobject | Add-Member -Force -type NoteProperty -name serverstatus -Value $ro $googleobject | Add-Member -Force -type NoteProperty -name serverstatus -Value $go $hostobject | Add-Member -Force -type NoteProperty -name serverstatus -Value $ho
$nasobject | Add-Member -Force -type NoteProperty -name result -Value $NO_RESULT $routerobject | Add-Member -Force -type NoteProperty -name result -Value $ro_RESULT $googleobject | Add-Member -Force -type NoteProperty -name result -Value $go_RESULT $hostobject | Add-Member -Force -type NoteProperty -name result -Value $ho_RESULT
$serverlist | select servername, serverchecked, result | ConvertTo-Html -head $header -body $body | Out-File C:\scripts\uptime.html
$header = @" <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <META HTTP-EQUIV="refresh" CONTENT="25"> <head> <title>Microwave link</title> <style type="text/css"> <!-- body { background-color: #E0E0E0; font-family: sans-serif } table, th, td { background-color: white; border-collapse:collapse; border: 1px solid black; padding: 5px } --> </style> "@
$body = @" "@ $serverlist }
there are cleaner ways to do this but this worked for me