How can I get the Top 100 Uptime report to come out as a csv file instead of a pdf?
Article Comments
I guess I must to do something like this:
$date = Get-Date $day = $date.DayOfWeek switch($day) { "Monday" { $dateModifier = -1 } "Tuesday" { $dateModifier = -2 } "Wednesday" { $dateModifier = -3 } "Thursday" { $dateModifier = -4 } "Friday" { $dateModifier = -5 } "Saturday" { $dateModifier = -6 } "Sunday" { $dateModifier = -7 } } [datetime]$previousSunday = (Get-Date).AddDays($dateModifier) $endstring = "$($previousSunday.Year)-$($previousSunday.Month)-$($previousSunday.Day)-23-59-00" $startstring = "$($previousSunday.AddDays(-7).Year)-$($previousSunday.AddDays(-7).Month)-$($previousSunday.AddDays(-7).Day)-00-00-00" $url = "https://myprtg/api/genreport.htm?id=93216&repstart=$startstring&repend=$endstring&$auth" Write-Host -ForegroundColor Cyan "VERBOSE: $url" $request = Invoke-WebRequest -Uri $url -MaximumRedirection 0 -ErrorAction Ignore $elements = $request.ParsedHtml.getElementsByTagName("td") $items = @() $i = 0 foreach($e in $elements) { $items += ($elements[$i].innerText).TrimEnd() $i++ } $i = 1 $report = @() do { $report += [PSCustomObject]@{ Sensor = $items[(($i * 12) - 10)] Device = $items[(($i * 12) - 9)] Group = $items[(($i * 12) - 8)] "Uptime %" = $items[(($i * 12) - 7)] "Uptime T" = $items[(($i * 12) - 6)] "Downtime %" = $items[(($i * 12) - 4)] "Downtime T" = $items[(($i * 12) - 3)] } $i++ }until($i -eq ((($items.Count)-2)/12)) $report | Export-Csv
Jun, 2018 - Permalink
Unfortunately, it's not possible to create CSV reports for those, as they lack the necessary data files.
Kind regards,
Stephan Linke, Tech Support Team
May, 2018 - Permalink