proflash
Goto Top

Powershell Foreach Schleife Daten in Variablen speichern

Moin zusammen,

ich habe eine Frage die für einige vielleicht oder hoffentlich einfach zu beantworten ist.
Es geht um Powershell. Ich habe eine Foreach Schleife die Daten von meinen Monitoren abfragt. (Marke, Modell, Seriennummer,).
Da ich 2 habe macht eine Foreach Schleife meines Wissens nach ja Sinn. Nun möchte ich gerne für jeden Monitor den ausgelesenen Wert in eine
Variable speichern.
Beispiel:
Monitor 1 :
$Marke1 = Asus
$Serial = 123456...
$Modell = AS24

Monitor 2:
$Marke 2 = Fujitsu
$Serial2 = 354121...
$Modell = BWJ24

Weiß jemand wie das umsetzbar ist? Mein bisheriger Code befindet sich unten.

Vielen Dank schon mal. :D

$Computername = Read-Host "Wie ist der Computername?"  
$All = Get-WmiObject -Namespace root\wmi -Class wmiMonitorID -ComputerName $Computername
foreach ($monitor in $All)
{
$serial = $null
$product = $null
$manufacturer = $null
$monitor.SerialNumberID | foreach {$serial += [char]$_}
$serial
$monitor.ProductCodeID | foreach {$product += [char]$_}
$product
$monitor.ManufacturerName | foreach {$manufacturer += [char]$_}
$manufacturer
}

Content-Key: 3267699295

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

Printed on: May 18, 2024 at 10:05 o'clock

Member: colinardo
Solution colinardo Jul 06, 2022 updated at 12:57:24 (UTC)
Goto Top
Servus
Die zusätzlichen Variablen sind überflüssig die hast du ja schon in einem Array zugreifbar, und eine Foreach-Schleife ist hier ehrlich gesagt ebenfalls überflüssig da du fast nichts an den Werten änderst außer sie in Klartext umzuwandeln face-smile:
$Computername = Read-Host "Wie ist der Computername?"  
$monitors = Get-WmiObject -Namespace root\wmi -Class wmiMonitorID -ComputerName $Computername | select Manufacturer,@{n='SerialNumberId';e={[System.Text.Encoding]::ASCII.GetString($_.SerialNumberId)}},@{n='ProductCodeId';e={[System.Text.Encoding]::ASCII.GetString($_.ProductCodeId)}}  
# Eigenschaften abfragen ...
# Alle Eigenschaften von Monitor 1
$monitors
# Alle Eigenschaften von Monitor 2
$monitors[1]
# Eigenschaft Manufacturer von Monitor 1
$monitors.Manufacturer
# usw.
Grüße Uwe
Member: ProFlash
ProFlash Jul 06, 2022 at 12:56:41 (UTC)
Goto Top
Mega Danke :D