Powershell IP und Hostname auslesen
Guten Tag zusammen,
Ich habe zwei Fragen welche um die Auslesung von IP Adressen handeln:
1 Frage: IP & Hostname auslesen und in Listbox ausgeben:
Bei mir werden die IP und der Hostname angezeigt. (Jedoch wird bei manchen Notebooks nichts angezeigt wenn, nur einer der 2 Netzwerkadapter aktiv ist)--> WLAN & LAN
Habt ihr eine idee wie man es konstant so einstellen kann das sicherlich der Hostname und die IP des jeweiligen aktiven Netzwerkadapter angezeigt wird?
Befehl:
$ipaddress = $(ipconfig | where { $_ -match 'IPv4.+\s(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})' } | out-null; $Matches[1])
$localIpAddress = ((ipconfig | findstr [0-9].\.)).Split()[-1]
$ipandhostname = Get-Wmiobject Win32_NetworkAdapterConfiguration -Filter "IPEnabled=true" | select $env:ComputerName, $localIpAddress, $ipaddress
$listBox_ip.DataSource = $ipandhostname;
Frage 2: Gibt es eine Möglichkeit um die IP Adresse auszulesen und die ersten 3 Okttes + eine festgesetzte zahl (z.B ip XXX.XXX.XXX.3) für das aufrufen von einem Server auf dem Windows Explorer zu benutzen?
Dabei sollte die vorhandene IP verwendet werden und pro Standort wird dann der jeweilige Server geöffnet.
Vielen Dank.
Ich habe zwei Fragen welche um die Auslesung von IP Adressen handeln:
1 Frage: IP & Hostname auslesen und in Listbox ausgeben:
Bei mir werden die IP und der Hostname angezeigt. (Jedoch wird bei manchen Notebooks nichts angezeigt wenn, nur einer der 2 Netzwerkadapter aktiv ist)--> WLAN & LAN
Habt ihr eine idee wie man es konstant so einstellen kann das sicherlich der Hostname und die IP des jeweiligen aktiven Netzwerkadapter angezeigt wird?
Befehl:
$ipaddress = $(ipconfig | where { $_ -match 'IPv4.+\s(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})' } | out-null; $Matches[1])
$localIpAddress = ((ipconfig | findstr [0-9].\.)).Split()[-1]
$ipandhostname = Get-Wmiobject Win32_NetworkAdapterConfiguration -Filter "IPEnabled=true" | select $env:ComputerName, $localIpAddress, $ipaddress
$listBox_ip.DataSource = $ipandhostname;
Frage 2: Gibt es eine Möglichkeit um die IP Adresse auszulesen und die ersten 3 Okttes + eine festgesetzte zahl (z.B ip XXX.XXX.XXX.3) für das aufrufen von einem Server auf dem Windows Explorer zu benutzen?
Dabei sollte die vorhandene IP verwendet werden und pro Standort wird dann der jeweilige Server geöffnet.
Vielen Dank.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 343893
Url: https://administrator.de/forum/powershell-ip-und-hostname-auslesen-343893.html
Ausgedruckt am: 09.05.2025 um 06:05 Uhr
3 Kommentare
Neuester Kommentar

gwmi win32_NetworkadapterConfiguration -Filter "IPEnabled=True" | ?{$_.DefaultIPGateway -ne $null} | select IPAddress,@{n='Hostname';e={$env:Computername}}
Frage 2: Gibt es eine Möglichkeit um die IP Adresse auszulesen und die ersten 3 Okttes + eine festgesetzte zahl (z.B ip XXX.XXX.XXX.3) für das aufrufen von einem Server auf dem Windows Explorer zu benutzen?
$data = gwmi win32_NetworkadapterConfiguration -Filter "IPEnabled=True" | ?{$_.DefaultIPGateway -ne $null} | select IPAddress,@{n='Hostname';e={$env:Computername}}
start "\\$(($data.IPAddress | select -First 1) -replace '^(.*)\.(\d+)$')','$1.3')\freigabe"

Logisch wenn du das als DataSource verwendest, geht das so nur bei einem DataGridView
Bei einer Listbox mach mit einer Schleife ein einfaches Array draus.
Beispiel mit einem DataGridView:
?!
Wenns das dann war Wie kann ich einen Beitrag als gelöst markieren? nicht vergessen.
Ciao.
Bei einer Listbox mach mit einer Schleife ein einfaches Array draus.
gwmi win32_NetworkadapterConfiguration -Filter "IPEnabled=True" | ?{$_.DefaultIPGateway -ne $null} | %{$_.IPAddress;$env:Computername}
Beispiel mit einem DataGridView:
function GenerateForm {
#region Import the Assemblies
[reflection.assembly]::loadwithpartialname("System.Windows.Forms") | Out-Null
[reflection.assembly]::loadwithpartialname("System.Drawing") | Out-Null
#endregion
#region Generated Form Objects
$form1 = New-Object System.Windows.Forms.Form
$dgv = New-Object System.Windows.Forms.DataGridView
$InitialFormWindowState = New-Object System.Windows.Forms.FormWindowState
#endregion Generated Form Objects
$handler_form1_Load=
{
$data = gwmi win32_NetworkadapterConfiguration -Filter "IPEnabled=True" | ?{$_.DefaultIPGateway -ne $null} | select @{n='IP-Adressen';e={$_.IpAddress -join ","}},@{n='Hostname';e={$env:Computername}}
$list = New-Object System.Collections.ArrayList
$list.AddRange(@($data))
$dgv.DataSource = $list
}
$OnLoadForm_StateCorrection=
{#Correct the initial state of the form to prevent the .Net maximized form issue
$form1.WindowState = $InitialFormWindowState
}
#----------------------------------------------
#region Generated Form Code
$System_Drawing_Size = New-Object System.Drawing.Size
$System_Drawing_Size.Height = 178
$System_Drawing_Size.Width = 261
$form1.ClientSize = $System_Drawing_Size
$form1.DataBindings.DefaultDataSourceUpdateMode = 0
$form1.Name = "form1"
$form1.Text = "DataGridView Demo"
$form1.add_Load($handler_form1_Load)
$dgv.Anchor = 15
$dgv.DataBindings.DefaultDataSourceUpdateMode = 0
$System_Drawing_Point = New-Object System.Drawing.Point
$System_Drawing_Point.X = 12
$System_Drawing_Point.Y = 12
$dgv.Location = $System_Drawing_Point
$dgv.Name = "dgv"
$System_Drawing_Size = New-Object System.Drawing.Size
$System_Drawing_Size.Height = 150
$System_Drawing_Size.Width = 240
$dgv.Size = $System_Drawing_Size
$dgv.TabIndex = 0
$form1.Controls.Add($dgv)
#Save the initial state of the form
$InitialFormWindowState = $form1.WindowState
#Init the OnLoad event to correct the initial state of the form
$form1.add_Load($OnLoadForm_StateCorrection)
#Show the Form
$form1.ShowDialog()| Out-Null
} #End Function
#Call the Function
GenerateForm
Wenn ich am Ende nur den Server XX.X.XXX.2 aufrufen möchte, müsste ich noch etwas anpassen?
Logisch, was ist wohl das ,'$1.3' Wenns das dann war Wie kann ich einen Beitrag als gelöst markieren? nicht vergessen.
Ciao.