forked from fleschutz/PowerShell
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlist-city-weather.ps1
executable file
·30 lines (27 loc) · 1.06 KB
/
list-city-weather.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<#
.SYNOPSIS
Lists current weather of cities world-wide
.DESCRIPTION
This PowerShell script lists the current weather of cities world-wide (west to east).
.EXAMPLE
PS> ./list-city-weather.ps1
.LINK
https://github.com/fleschutz/PowerShell
.NOTES
Author: Markus Fleschutz | License: CC0
#>
$Cities="Hawaii","Los Angeles","Mexico City","Dallas","Miami","New York","Rio de Janeiro","Paris","London","Berlin","Cape Town","Dubai","Mumbai","Singapore","Hong Kong","Perth","Peking","Tokyo","Sydney"
function ListCityWeather {
foreach($City in $Cities) {
$Conditions = (Invoke-WebRequest http://wttr.in/${City}?format="%c +%t`t+%p`t+%h`t+%P +%w" -UserAgent "curl" -useBasicParsing).Content
$Sun = (Invoke-WebRequest http://wttr.in/${City}?format="+%S →+%s" -UserAgent "curl" -useBasicParsing).Content
New-Object PSObject -Property @{ City="$City"; Conditions="$Conditions"; Sun="$Sun" }
}
}
try {
ListCityWeather | Format-Table -property City,Conditions,Sun
exit 0 # success
} catch {
"⚠️ Error in line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])"
exit 1
}