Powershell: IP ermitteln

~ 0 min
2023-02-06 08:08

Powershell ISE starten, ggf. Script-Ausführung aktivieren.

• Host testen und IP zum Name ermitteln:

$ip = (Test-Connection 'A039N015' -Count 1).IPV4Address.IPAddressToString
Write-Host "Die IP-Adresse ist $ip"

• nur IP zu Name aus DNS ermitteln (ohne Test):

[System.Net.Dns]::Resolve('A039N015').AddressList.IPAddressToString

• ausführliches Beispiel:

<#
   Name
   Get-IPv4
   Beschreibung
   Ermittelt die IPv4, zugehörige MAC-Adresse sowie den Adapternamen
   Benötigt
   PowerShell 3.0 (Windows6.1-KB2506143-x64)
   Version, Datum, Beschreibung, Autor 
   1.0 | 23.01.2017 | Initiale Version | Stefan Rehwald
   1.1 | 11.07.2017 | Clear-Variable hinzugefügt | Stefan Rehwald
#>

function Get-IPv4 ()
{
    $IPRaw = ipconfig /all
    $i=0
    Foreach($Row in $IPRaw)
    {
        #Get IPv4 (all), MAC and Adaptername
        If($Row -like "*IPv4*")
        {
            #MAC
            $j=$i
            do
            {            
                $j--
            }while ($IPRaw[$j] -notlike "*Phy*")
            $v4_MAC = $IPRaw[$j].Trim()

            #Adaptername
            $j=$i
            do
            {            
                $j--
            }while ($IPRaw[$j] -notlike "")
            $v4_Adaptername = $IPRaw[$j-1]

            #Data
            $v4_IPv4 = $Row.Split(":")[1].trim()
            $v4_MAC =  $v4_MAC.Split(":")[1].trim()
            $v4_Adaptername = $v4_Adaptername.Replace(":","")
            $IPData =@($v4_IPv4,$v4_MAC,$v4_Adaptername)
            
            #LOG
            Write-Host "$($v4_IPv4);$($v4_MAC);$($v4_Adaptername)" -F Green
          
            #Clearing
            Clear-Variable v4_*
        }
        $j=0
        $i++

    }
}

Get-Ipv4

<# Ausgabe #>

# 172.29.0.241(Bevorzugt);E4-B3-18-E6-B1-58;Drahtlos-LAN-Adapter Drahtlosnetzwerkverbindung
# 192.168.1.1(Bevorzugt);C8-5B-76-2B-28-7C;Ethernet-Adapter LAN-Verbindung

Einfache Ausgabe der IP, ermittelt aus dem Hostname:

$IPClient = Test-Connection $env:COMPUTERNAME -Count 1

#IPv4
$IPClient.IPV4Address.IPAddressToString

#IPv6
$IPClient.IPV6Address.IPAddressToString
<# Ausgabe #>
#IPv4
# 192.168.1.1 
#IPv6
# fe80::e6:bfe9:cc2c:7e1d%13

Quelle: https://blog.stefanrehwald.de/2017/01/31/powershell-14-ipv4v6-und-mac-ermitteln-ohne-zusaetzliche-cmdlets/

So gehts auch:

Get-Wmiobject Win32_NetworkAdapterConfiguration -Filter "IPEnabled=true" | select Description,IPAddress
Durchschnittliche Bewertung 0 (0 Abstimmungen)

Es ist möglich, diese FAQ zu kommentieren.