m.c.trust
Goto Top

Powershell Abfrage in Variable speichern, Variable aufrufen und damit weiterarbeiten

Hallo Zusammen,

kurze und einfache Frage. Gibt es die Möglichkeit eine Ausgabe bei der Powershell in eine Variable zu speichern, diese dann wieder abzurufen und nach einem Ergebnis zu filtern?

Bsp:
Es soll die IPAdresse ausgegeben werden und die Subnetzmaske. Beide Werte hole ich aus Win32_NetworkAdapterConfiguration raus.

$IPAdresse = (Get-Wmiobject Win32_NetworkAdapterConfiguration -Filter "IPEnabled=true").IpAddress  
$Subnetzmaske = (Get-Wmiobject Win32_NetworkAdapterConfiguration -Filter "IPEnabled=true").IPsubnet  


Kann ich irgendwie die Abfrage in eine extra Variable bringen, diese dann Abrufen und Filtern, so das Win32_NetworkAdapterConfiguration nicht zwei mal abgerufen wird?
Also sowas wie.....
$NetworkAdapter = Get-Wmiobject Win32_NetworkAdapterConfiguration
$IPAdresse  = $NetworkAdapter -Filter "IPEnabled=true").IPsubnet  


Danke für eure Hilfe!
Grüße

Content-Key: 2840333932

Url: https://administrator.de/contentid/2840333932

Printed on: April 25, 2024 at 17:04 o'clock

Member: colinardo
Solution colinardo May 19, 2022 updated at 13:00:27 (UTC)
Goto Top
Servus,
kein Problem
$config = Get-Wmiobject Win32_NetworkAdapterConfiguration -Filter "IPEnabled=true"  
$config.IPAddress
$config.IPSubnet
Oder auch so wenn du erst mal alle Adapter in einem Object speichern willst und dann mittels Where-Object entsprechend filterst.
$config = Get-Wmiobject Win32_NetworkAdapterConfiguration
$config | ?{$_.IPEnabled} | %{
    $_.IPAddress
    $_.IPSubnet
}
Denk aber daran das es mehrere aktive Netzwerkadapter geben kann!

Grüße Uwe

p.s. die WMI CMDLets sind eigentlich schon länger deprecated markiert, nutzte am besten gleich die CIM CMDLets wie Get-CimInstance & Co. die sind übrigens auch schneller.