I have an array, $bigList = @()
it contains for example
| VMname | PowerState | Owner | Status |
|---|---|---|---|
| MyServer1 | PoweredOn | J.Bloggs | Installed |
| MyServer2 | PoweredOff | M.Smythe | Decommissioned |
| MyServer3 | PoweredOff | M.Smythe | Installed |
I want to create a second array if PowerState=PoweredOff and Status=Decommissioned
The second Array contents will be output as a .CSV
What i've come up with is
$smallList = @()
foreach ($row in $bigList){
if(($bigList.PowerState -match 'PoweredOff') and ($bigList.Status -match 'Decommissioned)){
$smallListProperty = [ordered] @{
'VM Name' = $bigList.VMname
'Owner' = $bigList.Owner
}
$smallList += new-object -TypeName psobject -Property $smallListProperty
}
$smallList | export-CSV -path c:\Temp\smallList.csv
It kind of works but the output i'm getting is
| VM Name | Owner |
|---|---|
| System.Object[] | System.Object[] |
Thanks