Siempre que su computadora esté conectada a una red oa Internet, su dispositivo tendrá dos direcciones IP: la dirección IP pública y la dirección IP privada.
Todos los dispositivos en Internet usan su IP pública para la comunicación, mientras que la IP privada es solo para su red local. De hecho, cuando la mayoría usa el término”dirección IP”, en realidad se refiere a una dirección IP privada.
Puede averiguar la IP pública y privada de su computadora a través de PowerShell de diferentes maneras. También mostraré cómo para asignar la dirección IP a una variable, lo cual es útil si está escribiendo un script de PowerShell.
¿Cómo obtener una dirección IP privada en PowerShell?
Puede usar varios Net TCP/IP específicos y administración de dispositivos relacionados con cmdlets en PowerShell para obtener la dirección IP privada. Estos cmdlets verifican las configuraciones de su red y adaptador de red, incluidos estos datos.
Además, aunque todos estos cmdlets le permiten obtener la dirección IP, muestran otros parámetros también. Dado que el tipo de parámetros difiere entre los cmdlets, es posible que prefiera uno u otro dependiendo de su situación.
Uso de Get-NetIPAddress
La forma estándar de mostrar el La dirección IP en PowerShell se usa mediante el cmdlet Get-NetIPAddress, que muestra la configuración de la dirección IP.
Este cmdlet muestra la configuración IP de todas las redes físicas y virtuales de su sistema. Por lo tanto, debe combinarlo con un cmdlet adicional para limitar el resultado a la red actual.
Uso de Get-NetIPConfiguration
Otra forma de determinar la dirección IP actual es mediante comprobando la configuración de red actual a través de Get-NetIPConfiguration.
Al igual que en el caso anterior, Get-NetIPConfiguration también enumera todas las configuraciones de red. Por lo tanto, es mejor usar el cmdlet Where-Object para enumerar solo los detalles de la red actual.
Uso de IPConfig
IPConfig es el símbolo del sistema equivalente a Get-NetIPConfiguration. Dado que PowerShell también le permite usar los comandos del símbolo del sistema, también puede usar IPConfig.
Aquí, puede escribir ipconfig y presionar Entrar y luego buscar la dirección IPv4 en su red (cuya La puerta de enlace predeterminada no está vacía). O puede ingresar ((ipconfig | findstr [0-9].\.)[0]).Split()[-1] para mostrar solo la dirección IP. También puede asignarlo directamente a una variable, por ejemplo, $MyIP=((ipconfig | findstr [0-9].\.)[0]).Split()[-1]
Uso de Test-NetConnection
Test-NetConnection es el reemplazo más reciente para las funciones de ping y traceroute en PowerShell. Este cmdlet también muestra la dirección IP de su computadora mientras realiza una prueba de ping.
Simplemente puede ingresar Test-NetConnection o Test-NetConnection con cualquier servidor como Test-NetConnection google.com o Test-NetConnection 8.8.8.8. Verá la dirección IPv4 en SourceAddress. Si desea obtener solo la dirección IP, puede ingresar (Test-NetConnection).SourceAddress.IPAddress. Y de manera similar puede asignarlo a un valor. Por ejemplo, $MyIP=(Test-NetConnection).SourceAddress.IPAddress
Uso de Get-WmiObject
Las configuraciones del adaptador de red de su computadora se encuentran bajo las clases de Instrumental de administración de Windows (WMI). Por lo tanto, puede obtener dicha información directamente mediante el cmdlet Get-WmiObject. De hecho, Get-NetIPAddress y Get-NetIPConfig también usan la información de la clase WMI para mostrar sus resultados.
La clase WMI que necesita es Win32_NetworkAdapterConfiduration. Y dado que el cmdlet Get-WmiObject mostrará todas las configuraciones del adaptador, necesitará el cmdlet Where-Object para mostrar solo los detalles de la red actual.
Uso de Get-CimInstance
Get-CimInstance es la versión mejorada de Get-WMIObject, por lo que es mejor usar este cmdlet para la mayoría de los casos. Pero como el resultado de ambos cmdlets en este sentido es similar, puedes elegir cualquiera de los dos.
Sin embargo, Get-CimInstance muestra los datos en un formato tabular de manera predeterminada, por lo que es posible que deba agregar cmdlets adicionales para obtener la dirección IP.
Puede usar el cmdlet Format-List para cambiar la formateando un formulario de lista similar a Get-WMIObject.
Por ejemplo, (Get-CimInstance-Class Win32_NetworkAdapterConfiguration | Where-Object {$_.DHCPEnabled-ne $null-and $_.DefaultIPGateway-ne $null}) | Formato-Lista Si desea obtener solo la dirección IPv4 o asignarla a una variable, no necesita usar Format-List.
(Get-CimInstance-Class Win32_NetworkAdapterConfiguration | Where-Objeto {$_.DHCPEnabled-ne $null-y $_.DefaultIPGateway-ne $null}).IPAddress | Seleccionar objeto: primero 1
¿Cómo obtener una dirección IP pública en PowerShell?
Si desea conocer su dirección IP pública a través de PowerShell, necesita para usar cmdlets que envían datos HTTP o HTTPS a algunos servidores de terceros específicos.
La forma más sencilla de hacerlo es mediante los cmdlets Invoke-WebRequest o Invoke-RestMethod. Y puede usar servidores como https://api.ipify.org/, https://ident.me, https://ifconfig.me/ip, https://ipinfo.io/ip, y así sucesivamente.
Uso de Invoke-WebRequest
Ingrese el cmdlet, Invoke-WebRequest-uri”https://api.ipify.org/”y verifique el valor de Contenido para obtener la IP pública. Puede usar cualquier otro servidor como mencionamos antes en lugar de https://api.ipify.org/de la misma manera. Si solo desea la dirección IP pública, puede usar el operador de punto (.).
(Invocar-WebRequest-uri “https://api.ipify.org/”).Content
y puedes asignarlo a cualquier variable que quieras.
Uso de Invoke-RestMethod
Ingrese el cmdlet, Invoke-RestMethod-uri (“https://api.ipify.org/”) para obtener la IP pública. De manera similar, puede reemplazar el identificador uniforme de recursos (URI) con cualquier otro servidor mencionado anteriormente, así como asignarlo directamente a una variable.