Public/Functions/Support/Helper/Get-RegionFromCountryCode.ps1
# Module: TeamsFunctions # Function: Helper # Author: David Eberhardt # Updated: 06-DEC-2020 # Status: RC function Get-RegionFromCountryCode { <# .SYNOPSIS Ever wondered in which Region ZW is? .DESCRIPTION Returns a Global Region or Country Name for any given CountryCode .PARAMETER CountryCode This is the CountryCode in the format ISO 3166-alpha2 (2-digit) .PARAMETER Output Optional. By Default the Region is returned. With this Parameter, you can get the CountryName instead. .EXAMPLE Get-RegionFromCountryCode -CountryCode UZ Returns Region "APAC" for CountryCode UZ ("Uzbekistan") .EXAMPLE Get-RegionFromCountryCode AW -Output Country Returns Country "Aruba" for CountryCode AW .INPUTS System.String .OUTPUTS System.String .NOTES CountryCode must be provided otherwise InvalidData Error will be thrown FullyQualifiedErrorId: ParameterArgumentValidationErrorEmptyStringNotAllowed .COMPONENT SupportingFunction .FUNCTIONALITY Retruns the Region or Country for any given CountryCode .LINK https://github.com/DEberhardt/TeamsFunctions/tree/master/docs/Get-RegionFromCountryCode.md .LINK https://github.com/DEberhardt/TeamsFunctions/tree/master/docs/about_Supporting_Functions.md .LINK https://github.com/DEberhardt/TeamsFunctions/tree/master/docs/ #> [CmdletBinding()] [OutputType([System.String])] param ( [Parameter(Mandatory, Position = 0, ValueFromPipeline, HelpMessage = '2-digit CountryCode')] [ValidatePattern('^[A-Z][A-Z]$')] [string]$CountryCode, [Parameter(HelpMessage = 'Country or Region')] [ValidateSet('Region', 'Country')] [String]$Output = 'Region' ) begin { Show-FunctionStatus -Level Live $Region = $null $CountryName = $null Write-Verbose -Message "Returning $Output" } process { $Region, $CountryName = switch ($CountryCode) { 'AF' { 'EMEA', 'Afghanistan' } 'AX' { 'EMEA', 'Aaland' } 'AL' { 'EMEA', 'Albania' } 'DZ' { 'EMEA', 'Algeria' } 'AS' { 'APAC', 'American Samoa' } 'AD' { 'EMEA', 'Andorra' } 'AO' { 'EMEA', 'Angola' } 'AI' { 'AMER', 'Anguilla' } 'AQ' { 'APAC', 'Antarctica' } 'AG' { 'AMER', 'Antigua and Barbuda' } 'AR' { 'AMER', 'Argentina' } 'AM' { 'EMEA', 'Armenia' } 'AW' { 'AMER', 'Aruba' } 'AU' { 'APAC', 'Australia' } 'AT' { 'EMEA', 'Austria' } 'AZ' { 'EMEA', 'Azerbaijan' } 'BS' { 'AMER', 'Bahamas' } 'BH' { 'EMEA', 'Bahrain' } 'BD' { 'APAC', 'Bangladesh' } 'BB' { 'AMER', 'Barbados' } 'BY' { 'EMEA', 'Belarus' } 'BE' { 'EMEA', 'Belgium' } 'BZ' { 'AMER', 'Belize' } 'BJ' { 'EMEA', 'Benin' } 'BM' { 'AMER', 'Bermuda' } 'BT' { 'APAC', 'Bhutan' } 'BO' { 'AMER', 'Bolivia' } 'BQ' { 'AMER', 'Bonaire, Sint Eustatius and Saba' } 'BA' { 'EMEA', 'Bosnia and Herzegovina' } 'BW' { 'EMEA', 'Botswana' } 'BV' { 'EMEA', 'Bouvet Island' } 'BR' { 'AMER', 'Brazil' } 'IO' { 'APAC', 'British Indian Ocean Territory' } 'BN' { 'APAC', 'Brunei Darussalam' } 'BG' { 'EMEA', 'Bulgaria' } 'BF' { 'EMEA', 'Burkina Faso' } 'BI' { 'EMEA', 'Burundi' } 'KH' { 'APAC', 'Cambodia' } 'CM' { 'EMEA', 'Cameroon' } 'CA' { 'AMER', 'Canada' } 'CV' { 'EMEA', 'Cape Verde' } 'KY' { 'AMER', 'Cayman Islands' } 'CF' { 'EMEA', 'Central African Republic' } 'TD' { 'EMEA', 'Chad' } 'CL' { 'AMER', 'Chile' } 'CN' { 'APAC', 'China' } 'CX' { 'APAC', 'Christmas Island' } 'CC' { 'APAC', 'Cocos (Keeling) Islands' } 'CO' { 'AMER', 'Colombia' } 'KM' { 'EMEA', 'Comoros' } 'CG' { 'EMEA', 'Congo (Brazzaville)' } 'CD' { 'EMEA', 'Congo (Kinshasa)' } 'CK' { 'APAC', 'Cook Islands' } 'CR' { 'AMER', 'Costa Rica' } 'CI' { 'EMEA', "C?te d'Ivoire" } 'HR' { 'EMEA', 'Croatia' } 'CU' { 'AMER', 'Cuba' } 'CW' { 'AMER', 'Curacao' } 'CY' { 'EMEA', 'Cyprus' } 'CZ' { 'EMEA', 'Czech Republic' } 'DK' { 'EMEA', 'Denmark' } 'DJ' { 'EMEA', 'Djibouti' } 'DM' { 'AMER', 'Dominica' } 'DO' { 'AMER', 'Dominican Republic' } 'EC' { 'AMER', 'Ecuador' } 'EG' { 'EMEA', 'Egypt' } 'SV' { 'AMER', 'El Salvador' } 'GQ' { 'EMEA', 'Equatorial Guinea' } 'ER' { 'EMEA', 'Eritrea' } 'EE' { 'EMEA', 'Estonia' } 'ET' { 'EMEA', 'Ethiopia' } 'FK' { 'EMEA', 'Falkland Islands' } 'FO' { 'EMEA', 'Faroe Islands' } 'FJ' { 'APAC', 'Fiji' } 'FI' { 'EMEA', 'Finland' } 'FR' { 'EMEA', 'France' } 'GF' { 'AMER', 'French Guiana' } 'PF' { 'APAC', 'French Polynesia' } 'TF' { 'APAC', 'French Southern Lands' } 'GA' { 'EMEA', 'Gabon' } 'GM' { 'EMEA', 'Gambia' } 'GE' { 'EMEA', 'Georgia' } 'DE' { 'EMEA', 'Germany' } 'GH' { 'EMEA', 'Ghana' } 'GI' { 'EMEA', 'Gibraltar' } 'GR' { 'EMEA', 'Greece' } 'GL' { 'EMEA', 'Greenland' } 'GD' { 'AMER', 'Grenada' } 'GP' { 'AMER', 'Guadeloupe' } 'GU' { 'APAC', 'Guam' } 'GT' { 'AMER', 'Guatemala' } 'GG' { 'EMEA', 'Guernsey' } 'GN' { 'EMEA', 'Guinea' } 'GW' { 'EMEA', 'Guinea-Bissau' } 'GY' { 'AMER', 'Guyana' } 'HT' { 'AMER', 'Haiti' } 'HM' { 'APAC', 'Heard and McDonald Islands' } 'HN' { 'AMER', 'Honduras' } 'HK' { 'APAC', 'Hong Kong' } 'HU' { 'EMEA', 'Hungary' } 'IS' { 'EMEA', 'Iceland' } 'IN' { 'APAC', 'India' } 'ID' { 'APAC', 'Indonesia' } 'IR' { 'EMEA', 'Iran' } 'IQ' { 'EMEA', 'Iraq' } 'IE' { 'EMEA', 'Ireland' } 'IM' { 'EMEA', 'Isle of Man' } 'IL' { 'EMEA', 'Israel' } 'IT' { 'EMEA', 'Italy' } 'JM' { 'AMER', 'Jamaica' } 'JP' { 'APAC', 'Japan' } 'JE' { 'EMEA', 'Jersey' } 'JO' { 'EMEA', 'Jordan' } 'KZ' { 'EMEA', 'Kazakhstan' } 'KE' { 'EMEA', 'Kenya' } 'KI' { 'APAC', 'Kiribati' } 'KP' { 'EMEA', 'Korea, North' } 'KR' { 'EMEA', 'Korea, South' } 'KW' { 'EMEA', 'Kuwait' } 'KG' { 'APAC', 'Kyrgyzstan' } 'LA' { 'APAC', 'Laos' } 'LV' { 'EMEA', 'Latvia' } 'LB' { 'EMEA', 'Lebanon' } 'LS' { 'EMEA', 'Lesotho' } 'LR' { 'EMEA', 'Liberia' } 'LY' { 'EMEA', 'Libya' } 'LI' { 'EMEA', 'Liechtenstein' } 'LT' { 'EMEA', 'Lithuania' } 'LU' { 'EMEA', 'Luxembourg' } 'MO' { 'APAC', 'Macau' } 'MK' { 'EMEA', 'Macedonia' } 'MG' { 'EMEA', 'Madagascar' } 'MW' { 'EMEA', 'Malawi' } 'MY' { 'APAC', 'Malaysia' } 'MV' { 'APAC', 'Maldives' } 'ML' { 'EMEA', 'Mali' } 'MT' { 'EMEA', 'Malta' } 'MH' { 'APAC', 'Marshall Islands' } 'MQ' { 'AMER', 'Martinique' } 'MR' { 'EMEA', 'Mauritania' } 'MU' { 'EMEA', 'Mauritius' } 'YT' { 'EMEA', 'Mayotte' } 'MX' { 'AMER', 'Mexico' } 'FM' { 'APAC', 'Micronesia' } 'MD' { 'EMEA', 'Moldova' } 'MC' { 'EMEA', 'Monaco' } 'MN' { 'APAC', 'Mongolia' } 'ME' { 'EMEA', 'Montenegro' } 'MS' { 'AMER', 'Montserrat' } 'MA' { 'EMEA', 'Morocco' } 'MZ' { 'EMEA', 'Mozambique' } 'MM' { 'APAC', 'Myanmar' } 'NA' { 'EMEA', 'Namibia' } 'NR' { 'APAC', 'Nauru' } 'NP' { 'APAC', 'Nepal' } 'NL' { 'EMEA', 'Netherlands' } 'NC' { 'APAC', 'New Caledonia' } 'NZ' { 'APAC', 'New Zealand' } 'NI' { 'AMER', 'Nicaragua' } 'NE' { 'EMEA', 'Niger' } 'NG' { 'EMEA', 'Nigeria' } 'NU' { 'APAC', 'Niue' } 'NF' { 'APAC', 'Norfolk Island' } 'MP' { 'APAC', 'Northern Mariana Islands' } 'NO' { 'EMEA', 'Norway' } 'OM' { 'EMEA', 'Oman' } 'PK' { 'APAC', 'Pakistan' } 'PW' { 'APAC', 'Palau' } 'PS' { 'EMEA', 'Palestine' } 'PA' { 'AMER', 'Panama' } 'PG' { 'APAC', 'Papua New Guinea' } 'PY' { 'AMER', 'Paraguay' } 'PE' { 'AMER', 'Peru' } 'PH' { 'APAC', 'Philippines' } 'PN' { 'APAC', 'Pitcairn' } 'PL' { 'EMEA', 'Poland' } 'PT' { 'EMEA', 'Portugal' } 'PR' { 'AMER', 'Puerto Rico' } 'QA' { 'EMEA', 'Qatar' } 'RE' { 'EMEA', 'Reunion' } 'RO' { 'EMEA', 'Romania' } 'RU' { 'EMEA', 'Russian Federation' } 'RW' { 'EMEA', 'Rwanda' } 'BL' { 'AMER', 'Saint Barthelemy' } 'SH' { 'EMEA', 'Saint Helena' } 'KN' { 'AMER', 'Saint Kitts and Nevis' } 'LC' { 'AMER', 'Saint Lucia' } 'MF' { 'AMER', 'Saint Martin (French part)' } 'PM' { 'AMER', 'Saint Pierre and Miquelon' } 'VC' { 'AMER', 'Saint Vincent and the Grenadines' } 'WS' { 'APAC', 'Samoa' } 'SM' { 'EMEA', 'San Marino' } 'ST' { 'EMEA', 'Sao Tome and Principe' } 'SA' { 'EMEA', 'Saudi Arabia' } 'SN' { 'EMEA', 'Senegal' } 'RS' { 'EMEA', 'Serbia' } 'SC' { 'EMEA', 'Seychelles' } 'SL' { 'EMEA', 'Sierra Leone' } 'SG' { 'APAC', 'Singapore' } 'SX' { 'AMER', 'Sint Maarten' } 'SK' { 'EMEA', 'Slovakia' } 'SI' { 'EMEA', 'Slovenia' } 'SB' { 'APAC', 'Solomon Islands' } 'SO' { 'EMEA', 'Somalia' } 'ZA' { 'EMEA', 'South Africa' } 'GS' { 'EMEA', 'South Georgia and South Sandwich Islands' } 'SS' { 'APAC', 'South Sudan' } 'ES' { 'EMEA', 'Spain' } 'LK' { 'APAC', 'Sri Lanka' } 'SD' { 'EMEA', 'Sudan' } 'SR' { 'AMER', 'Suriname' } 'SJ' { 'EMEA', 'Svalbard and Jan Mayen Islands' } 'SZ' { 'EMEA', 'Swaziland' } 'SE' { 'EMEA', 'Sweden' } 'CH' { 'EMEA', 'Switzerland' } 'SY' { 'EMEA', 'Syria' } 'TW' { 'APAC', 'Taiwan' } 'TJ' { 'APAC', 'Tajikistan' } 'TZ' { 'EMEA', 'Tanzania' } 'TH' { 'APAC', 'Thailand' } 'TL' { 'APAC', 'Timor-Leste' } 'TG' { 'EMEA', 'Togo' } 'TK' { 'APAC', 'Tokelau' } 'TO' { 'APAC', 'Tonga' } 'TT' { 'AMER', 'Trinidad and Tobago' } 'TN' { 'EMEA', 'Tunisia' } 'TR' { 'EMEA', 'Turkey' } 'TM' { 'APAC', 'Turkmenistan' } 'TC' { 'AMER', 'Turks and Caicos Islands' } 'TV' { 'APAC', 'Tuvalu' } 'UG' { 'EMEA', 'Uganda' } 'UA' { 'EMEA', 'Ukraine' } 'AE' { 'EMEA', 'United Arab Emirates' } 'GB' { 'EMEA', 'United Kingdom' } 'UM' { 'APAC', 'United States Minor Outlying Islands' } 'US' { 'AMER', 'United States of America' } 'UY' { 'AMER', 'Uruguay' } 'UZ' { 'APAC', 'Uzbekistan' } 'VU' { 'APAC', 'Vanuatu' } 'VA' { 'EMEA', 'Vatican City' } 'VE' { 'AMER', 'Venezuela' } 'VN' { 'APAC', 'Vietnam' } 'VG' { 'AMER', 'Virgin Islands, British' } 'VI' { 'AMER', 'Virgin Islands, U.S.' } 'WF' { 'APAC', 'Wallis and Futuna Islands' } 'EH' { 'EMEA', 'Western Sahara' } 'YE' { 'EMEA', 'Yemen' } 'ZM' { 'EMEA', 'Zambia' } 'ZW' { 'EMEA', 'Zimbabwe' } default { $null, $null } } switch ($Output) { 'Region' { Return $Region } 'Country' { Return $CountryName } } } end { } } #Get-RegionFromCountryCode |