Skip to content

Latest commit

 

History

History
55 lines (46 loc) · 1.33 KB

list-countries.md

File metadata and controls

55 lines (46 loc) · 1.33 KB

Script: list-countries.ps1

list-countries.ps1

Parameters

[<CommonParameters>]
    This script supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, 
    WarningVariable, OutBuffer, PipelineVariable, and OutVariable.

Script Content

<#
.SYNOPSIS
	Lists details of all countries
.DESCRIPTION
	This PowerShell script lists details of all countries.
.EXAMPLE
	PS> ./list-countries.ps1
.LINK
	https://github.com/fleschutz/PowerShell
.NOTES
	Author: Markus Fleschutz | License: CC0
#>

function ListCountries { 
	$Countries = (Invoke-WebRequest -uri "https://restcountries.eu/rest/v2/all" -userAgent "curl" -useBasicParsing).Content | ConvertFrom-Json
	foreach($Country in $Countries) {
		New-Object PSObject -Property @{
			'Country' = "$($Country.Name)"
			'Capital' = "$($Country.Capital)"
			'Population' = "$($Country.Population)"
			'TLD' = "$($Country.TopLevelDomain)"
			'Phone' = "+$($Country.CallingCodes)"
		}
	}
}

try {
	ListCountries | format-table -property Country,Capital,Population,TLD,Phone
	exit 0 # success
} catch {
	"⚠️ Error in line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])"
	exit 1
}

(generated by convert-ps2md.ps1 using the comment-based help of list-countries.ps1 as of 08/15/2024 09:50:49)