Powershell Arrayvariable in Schleife füllen
Hallo zusammen,
ich möchte folgendes bewerkstelligen:
Ich habe eine Arrayvariable:
Nun durchlaufe ich bspw. dreimal eine Schleife:
Diese Schleife wird unterschiedlich oft durchlaufen (1 - 5 mal).
Ich möchte nun in meiner Arrayvariable das Feld "ComputerX_SN" dynamisch ansprechen.
Wie kann ich also das "X" als Variable angeben?
Ich hoffe, es ist verständlich und danke schon mal für die Antworten.
Danke & Grüße
ich möchte folgendes bewerkstelligen:
Ich habe eine Arrayvariable:
$store = @("Computer1_SN","Computer2_SN","Computer3_SN","Computer4_SN","Computer5_SN")
for ($i=1; $i -le 3; $i++) {$store.ComputerX_SN = "Wert"}
Ich möchte nun in meiner Arrayvariable das Feld "ComputerX_SN" dynamisch ansprechen.
Wie kann ich also das "X" als Variable angeben?
Ich hoffe, es ist verständlich und danke schon mal für die Antworten.
Danke & Grüße
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 226316
Url: https://administrator.de/forum/powershell-arrayvariable-in-schleife-fuellen-226316.html
Ausgedruckt am: 26.04.2025 um 07:04 Uhr
5 Kommentare
Neuester Kommentar
Hallo fisicgn, Willkommen im Forum!
das was du vorhast hat keinen Sinn denn du kannst dem Array-Element so selber keinen zusätzlichen Wert zuordnen, höchstens den Array-Wert neu setzen. Du solltest hier stattdessen mit einer Hashtable arbeiten:
Grüße Uwe
das was du vorhast hat keinen Sinn denn du kannst dem Array-Element so selber keinen zusätzlichen Wert zuordnen, höchstens den Array-Wert neu setzen. Du solltest hier stattdessen mit einer Hashtable arbeiten:
$store = @{"Computer1_SN"="";"Computer2_SN"="";"Computer3_SN"="";"Computer4_SN"="";"Computer5_SN"=""}
for ($i=1; $i -le 3; $i++) {
$store["Computer$($i)_SN"] = "Das ist Testwert $i"
}
echo $store
Zitat von @fisicgn:
Ich würde abschließend gerne die Variable $store in eine csv-Datei exportieren. Und das habe ich mit meinem Array
irgendwie einfacher hinbekommen:
Hashtable Export in CSV, kein Problem:Ich würde abschließend gerne die Variable $store in eine csv-Datei exportieren. Und das habe ich mit meinem Array
irgendwie einfacher hinbekommen:
$obj = New-Object PSObject -Property $store
$obj | Export-Csv "C:\Array.csv" -Delimiter ";" -NoTypeInformation
das ist schon der richtige Ansatz:
Du erstellst ein leeres Array, dann machst du aus einem Array in dem die Computernamen stehen ein PS-Objekt und hängst das an dein Array an. Das sind dann quasi die Überschriften. Für die Räume arbeitest du dann mit einer Hashtable und weist in dieser den Rechnern die Seriennummern zu machst daraus ein PS-Object und hängst dies dann wieder an das Array dran, usw.
denke jetzt sollte die Methode klar sein.
Grüße Uwe
Du erstellst ein leeres Array, dann machst du aus einem Array in dem die Computernamen stehen ein PS-Objekt und hängst das an dein Array an. Das sind dann quasi die Überschriften. Für die Räume arbeitest du dann mit einer Hashtable und weist in dieser den Rechnern die Seriennummern zu machst daraus ein PS-Object und hängst dies dann wieder an das Array dran, usw.
$arr = @()
# Überschriften
$arr += New-Object PSObject -Property @("Computer1_SN","Computer2_SN","Computer3_SN","Computer4_SN","Computer5_SN")
for ($i=1; $i -le 10; $i++) {
# Zeile mit entsprechender Zuordnung zum Array hinzufügen
$arr += New-Object PSObject -Property @{"Computer1_SN"="Serial1";"Computer2_SN"="Serial2";"Computer3_SN"="Serial3";"Computer4_SN"="Serial4";"Computer5_SN"="Serial5"}
}
# Exportieren
$arr | Export-Csv "C:\Temp\test.csv" -Delimiter ";" -NoTypeInformation
Grüße Uwe