Powershell: IP ermitteln
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
So gehts auch:
Get-Wmiobject Win32_NetworkAdapterConfiguration -Filter "IPEnabled=true" | select Description,IPAddress