cgnat.ps1


<#PSScriptInfo
.VERSION 1.0.4
.GUID 1c453c2d-8924-4ccf-ad1e-d004f4515eb4
.AUTHOR Ruben Leon
.COMPANYNAME Ruben Leon
.COPYRIGHT
.TAGS
.LICENSEURI
.PROJECTURI
.ICONURI
.EXTERNALMODULEDEPENDENCIES
.REQUIREDSCRIPTS
.EXTERNALSCRIPTDEPENDENCIES
.RELEASENOTES
 
Version 1.0: Inicio del Proyecto.
Version 1.0.1: Información del Script.
Version 1.0.2: Agredada Funciones Básicas.
Version 1.0.3: Funciones y añadida variable $ip.
Version 1.0.4: Condificación de archivo.
 
#>


<#
.DESCRIPTION
 Script para comprobar si nuestra dirección IPv4 está bajo un CGNAT.
#>
 
Param()

function Get-CGNAT {
     $ip = Get-Ip 
     Write-Warning "IP Public: $ip"

     $result = Test-NetConnection $ip -TraceRoute
     if($result.TraceRoute.Count -eq 1)
     {
        Write-Output "Estamos sobre un NAT"
        Write-Output "PUERTOS: Podemos abrir puertos en el router"
     }
     else{
        Write-Output "Estamos en un CG-NAT"
        Write-Output "PUERTOS: No podemos abrir puertos en el router"
     }
}

function Get-Ip{
    $ip = Invoke-RestMethod -Uri ipconfig.me
    return $ip
}

#Llamada a la función CGNAT
Get-CGNAT