$ErrorAction = "Stop"

$net = Get-NetIPAddress | Where-Object {
    ($_.IPAddress -ne "127.0.0.1") -and ($_.IPAddress -ne "::1")
} | Sort-Object $_.AddressFamily

$result = @{
	ip_addresses = $net.IPAddress
}

Write-Output $(ConvertTo-Json $result)

$ErrorAction = "Stop"

# Find all of the NICsq
$nics = [System.Net.NetworkInformation.NetworkInterface]::GetAllNetworkInterfaces()

# Save the IP addresses somewhere
$nic_ip_addresses = @()

foreach ($nic in $nics) {
    $nic_ip_addresses += $nic.GetIPProperties().UnicastAddresses | Where-Object {
      ($_.Address.IPAddressToString -ne "127.0.0.1") -and ($_.Address.IPAddressToString -ne "::1")
    } | Select -ExpandProperty Address
}

$nic_ip_addresses = $nic_ip_addresses | Sort-Object $_.AddressFamily

$result = @{
	ip_addresses = $nic_ip_addresses.IPAddressToString
}

Write-Output $(ConvertTo-Json $result)

Use a .NET API call instead of a Win8+ cmdlet
Use a .NET API call instead of a Win8+ cmdlet

The root cause is that Windows 7 doesn't have Get-NetIPAddress (
see:
https://stackoverflow.com/questions/19529442/gather-ip-address-information
)
but the change was to try and solve the bug that the VPN IP
addresses
aren't visible detailed
here:
https://support.microsoft.com/en-us/kb/2549091

Resolved using the
2nd solution
from
http://serverfault.com/questions/145259/powershell-win32-networkadapterconfiguration-not-seeing-ppp-adapter
