Get-NordVPNRecommendedList

SYNOPSIS

Gets a list of servers recommended by NordVPN.

SYNTAX

Get-NordVPNRecommendedList [[-Limit] <UInt16>] [-Raw] [[-Country] <String>] [[-Group] <String>]
 [[-Technology] <String>] [<CommonParameters>]

DESCRIPTION

Returns a list of servers recommended by NordVPN, sorted by lowest Load. By default, this function returns the best five servers with the passed parameters, but this limit can be set with the -Limit parameter, to return from 1 server to the entire sorted list.

The recommended server functionality of the NordVPN web API permits direct filtering in the API request, meaning only details of servers matching the country, technology, and group specified will need to be downloaded. This is in contrast to Get-NordVPNServerList, which uses the raw list functionality of the web API and does not support direct filtering.

This function is therefore much more efficient as less data must be downloaded and no filtering needs to be done locally. It is suggested to use this function unless absolutely necessary (such as where all servers must be indexed, including those that are full/unavailable.)

The structures of objects returned by this function can be found in the about topic About NordVPN-Servers Classes.

EXAMPLES

Example 1

PS C:\> Get-NordVPNRecommendedList | Select-Object Hostname, Status, CountryCode, Load

Hostname           Status CountryCode Load
--------           ------ ----------- ----
uk1774.nordvpn.com online GB             8
uk1773.nordvpn.com online GB            10
uk1091.nordvpn.com online GB            10
uk1239.nordvpn.com online GB            11
uk1419.nordvpn.com online GB            12

Gets the 5 NordVPN servers with the lowest loads near to the computer where the command is run on, and shows the DNS hostname, status, country, and load %.

Example 2

PS C:\> Get-NordVPNRecommendedList -Limit 1 -Group asia_pacific -Technology openvpn_udp | `
>> Select-Object Hostname, PrimaryIP, Load

Hostname         PrimaryIP     Load
--------         ---------     ----
kr20.nordvpn.com 210.217.18.72   34

Gets the NordVPN server with the lowest load in the APAC region, that supports OpenVPN over the UDP protocol.

Example 3

PS C:\> Get-NordVPNRecommendedList -Limit 10000 -Country FR `
>> -Group legacy_dedicated_ip -Technology openvpn_tcp | `
>> Select Hostname, PrimaryIP, Load

Hostname          PrimaryIP     Load
--------          ---------     ----
fr399.nordvpn.com 37.120.204.67   12
fr439.nordvpn.com 185.93.2.199    17
fr440.nordvpn.com 185.93.2.206    18

Gets all NordVPN servers in France that support dedicated IP allocation and OpenVPN over TCP/IP, displaying the hostname, IP, and Load for each.

Example 4

PS C:\> $MyRequirements = @(
>> [pscustomobject]@{Country = 'DE'; Group = 'legacy_obfuscated_servers'}
>> [pscustomobject]@{Country = 'BR'; Technology = 'ikev2'}
>> [pscustomobject]@{Country = 'US'; Technology = 'openvpn_xor_udp'}
>> [pscustomobject]@{Country = 'US'; Technology = 'openvpn_xor_udp'; Group = 'legacy_obfuscated_servers'}
>> [pscustomobject]@{Country = 'US'; Technology = 'openvpn_dedicated_udp'}
>> [pscustomobject]@{Country = 'US'; Technology = 'openvpn_dedicated_udp'; Group = 'legacy_dedicated_ip'}
>> )
PS C:\> $MyRequirements | Get-NordVPNRecommendedList | Select-Object Hostname, CountryCode, Load

Hostname          CountryCode Load
--------          ----------- ----
de732.nordvpn.com DE            37
de730.nordvpn.com DE            60
de733.nordvpn.com DE            61
de726.nordvpn.com DE            64
de669.nordvpn.com DE            32
br46.nordvpn.com  BR            10
br45.nordvpn.com  BR            11
br41.nordvpn.com  BR            11
br48.nordvpn.com  BR            14
br35.nordvpn.com  BR            14
WARNING: No results found for search with filters:
  Country: US
  Technology: openvpn_xor_udp
Try adjusting the filters.
us4906.nordvpn.c… US            25
us4859.nordvpn.c… US            30
us4896.nordvpn.c… US            33
us4912.nordvpn.c… US            38
us4907.nordvpn.c… US            40
WARNING: No results found for search with filters:
  Country: US
  Technology: openvpn_dedicated_udp
Try adjusting the filters.
us4955.nordvpn.c… US             8
us2917.nordvpn.c… US            10
us2914.nordvpn.c… US            10
us2905.nordvpn.c… US            11
us2938.nordvpn.c… US            12

Creates three custom filter profiles, passes them to Get-NordVPNRecommendedList and displays the results as a list with the hostname, country code and current load.

Notable is that the recommendations functionality of the NordVPN web API will not display servers filtered by certain technologies, unless the associated group is also supplied. See the notes section of this help for more details.

PARAMETERS

-Country

A 2-digit ISO 3166-1 country code to filter the results by. You can see a list of country codes using Show-NordVPNCountryList. Examples include GB (United Kingdom), US (United States), and DE (Germany).

A list of available countries is generated dynamically using Get-NordVPNCountryList, and can be accessed by typing -Country followed by a space and pressing the tab key.

Type: String
Parameter Sets: (All)
Aliases:
Accepted values: AL, AR, AU, AT, BE, BA, BR, BG, CA, CL, CR, HR, CY, CZ, DK, EE, FI, FR, GE, DE, GR, HK, HU, IS, IN, ID, IE, IL, IT, JP, LV, LU, MY, MX, MD, NL, NZ, MK, NO, PL, PT, RO, RS, SG, SK, SI, ZA, KR, ES, SE, CH, TW, TH, TR, UA, AE, GB, US, VN

Required: False
Position: 0
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-Group

The short code of the group to filter the results by. You can see a list of country codes using Show-NordVPNGroupList. Examples include legacy_standard (Standard Servers) and the_americas (Americas region).

A list of available groups is generated dynamically using Get-NordVPNGroupList, and can be accessed by typing -Group followed by a space and pressing the tab key.

Type: String
Parameter Sets: (All)
Aliases:
Accepted values: legacy_double_vpn, legacy_onion_over_vpn, legacy_ultra_fast_tv, legacy_anti_ddos, legacy_dedicated_ip, legacy_standard, legacy_netflix_usa, legacy_p2p, legacy_obfuscated_servers, europe, the_americas, asia_pacific, africa_the_middle_east_and_india

Required: False
Position: 1
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-Limit

The maximum number of servers to return (1-65535). NOTE : fewer results may be returned from the search if filters are applied.

If no value is passed with -Limit, the function returns the top 5 servers.

Type: UInt16
Parameter Sets: (All)
Aliases:

Required: False
Position: 0
Default value: 5
Accept pipeline input: False
Accept wildcard characters: False

-Raw

Returns the raw server entry data without processing. This speeds up operation but results in an inconsistent data structure due to the API’s naming conventions.

Type: SwitchParameter
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False

-Technology

The short code of the technology to filter the results by. You can see a list of country codes using Show-NordVPNTechnologyList. Examples include ikev2 (IKEv2/IPSec), openvpn_xor_udp (Obfuscated OpenVPN/UDP), and proxy_ssl (HTTPS Proxy/SSL).

A list of available technologies is generated dynamically using Get-NordVPNTechnologyList, and can be accessed by typing -Technology followed by a space and pressing the tab key.

Type: String
Parameter Sets: (All)
Aliases:
Accepted values: ikev2, openvpn_udp, openvpn_tcp, socks, proxy, pptp, l2tp, openvpn_xor_udp, openvpn_xor_tcp, proxy_cybersec, proxy_ssl, proxy_ssl_cybersec, ikev2_v6, openvpn_udp_v6, openvpn_tcp_v6, wireguard_udp, openvpn_udp_tls_crypt, openvpn_tcp_tls_crypt, openvpn_dedicated_udp, openvpn_dedicated_tcp, v2ray

Required: False
Position: 2
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.

INPUTS

None

OUTPUTS

NordVPNServerList

NOTES

IMPORTANT : Even if the module is configured to only use the fallback files, with the command Set-NordVPNModuleSetting OfflineMode 1, this function will still attempt to utilise the NordVPN web API. This is because recommendations are inherently dynamic and therefore it would be futile to store these offline.

To work with server lists offline, you should use Get-NordVPNServerList, which responds to the offline mode and can use a list stored in NordVPN_Servers.xml in the module directory.

The recommendations functionality of the NordVPN web API will not display servers filtered by certain technologies, unless the associated group is also supplied. These required pairings are as follows:

      Technology Code Group Code
      --------------- ----------
openvpn_dedicated_udp legacy_dedicated_ip
openvpn_dedicated_tcp legacy_dedicated_ip
      openvpn_xor_udp legacy_obfuscated_servers
      openvpn_xor_tcp legacy_obfuscated_servers

This page on GitHub Pages

Help Index