Powershell foreach-Wert in nachfolgender Abfrage mit ausgeben
Hallo,
Ich führe per foreach für jeden Wert in einem Array einen Befehl aus. Dieser Befehl gibt pro Array-Wert eine oder mehrere Zeilen aus. In jeder dieser Zeilen soll auch der Array-Wert selbst mit ausgegeben werden.
Beispiel:
In dem Array $lwb steht "C:","D:"
Dieser Befehl
gibt (zusätzlich zu den Spaltenüberschriften und einer Zeile mit "-----" ) 2 Zeilen aus. Die erste Zeile enthält Informationen zu C:, die zweite zu D:
Also so:
Ich möchte eine zusätzliche Spalte, in der jeweils der Laufwerksbuchstabe vorkommt. Also so:
Ich weiß, das ist kein gutes Beispiel, weil es hier einfach zu lösen ist, indem ich den select-object um "name" ergänze. Nehmt einfach an, "name" gibt es nicht, der Laufwerksbuchstabe muss von der Variable $i kommen.
Danke
Gruß
Martin
Ich führe per foreach für jeden Wert in einem Array einen Befehl aus. Dieser Befehl gibt pro Array-Wert eine oder mehrere Zeilen aus. In jeder dieser Zeilen soll auch der Array-Wert selbst mit ausgegeben werden.
Beispiel:
In dem Array $lwb steht "C:","D:"
Dieser Befehl
foreach ($i in $lwb) {get-wmiobject win32_logicaldisk -filter "name='$i'" | Select-Object freespace,size}
Also so:
freespace size
--------- ----
17282424832 254691377152
26703024128 32210153472
Ich möchte eine zusätzliche Spalte, in der jeweils der Laufwerksbuchstabe vorkommt. Also so:
LWB freespace size
-------- --------- ----
C: 17282424832 254691377152
D: 26703024128 32210153472
Ich weiß, das ist kein gutes Beispiel, weil es hier einfach zu lösen ist, indem ich den select-object um "name" ergänze. Nehmt einfach an, "name" gibt es nicht, der Laufwerksbuchstabe muss von der Variable $i kommen.
Danke
Gruß
Martin
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 531949
Url: https://administrator.de/contentid/531949
Ausgedruckt am: 24.11.2024 um 04:11 Uhr
6 Kommentare
Neuester Kommentar
gibt (zusätzlich zu den Spaltenüberschriften und einer Zeile mit "-----" ) 2 Zeilen aus. Die erste Zeile enthält Informationen zu C:, die zweite zu D:
Powershell arbeitet objektorientiert und das was du da als Ausgabe erhältst sind in Wirklichkeit Objekte mit deren Eigenschaften und keine Stringsforeach ($i in $lwb) {
get-wmiobject win32_logicaldisk -filter "name='$i'" | Select-Object @{n='LWB';e={$i}}},freespace,size
}
foreach ($i in $lwb) {
get-wmiobject win32_logicaldisk -filter "name='$i'" | %{ [pscustomobject]@{'LWB' = $i; 'Freespace' = $_.freespace; 'Size' = $_.size}}
}
Ins Blaue da ich die Properties der CMDLets nicht vorliegen habe
Get-VBRBackup -PipelineVariable backupjob | Get-VBRRestorePoint -name VM-Name | Select-Object @{n='Job';e={$backupjob.JobName}},vmname,creationtime