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-ID: 3267699295

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

Ausgedruckt am: 24.11.2024 um 04:11 Uhr

colinardo
Lösung colinardo 06.07.2022 aktualisiert um 14:57:24 Uhr
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
ProFlash
ProFlash 06.07.2022 um 14:56:41 Uhr
Goto Top
Mega Danke :D