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.
Please also mark the comments that contributed to the solution of the article
Content-Key: 343893
Url: https://administrator.de/contentid/343893
Printed on: April 24, 2024 at 02:04 o'clock
3 Comments
Latest comment
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 How can I mark a post as solved? 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 How can I mark a post as solved? nicht vergessen.
Ciao.