How to Filter CSV data using PowerShell

One of my team mate asked me "How to Filter CSV data using PowerShell"?

I replied back why do you want to do using PowerShell when you have Excel :) . I really stop people making things complicated. But the scenario he explained me was little interesting.

Requirement:
We have a data center rack details like below

Rack1 , Rack2, Rack3,Rack4
Server1,Server2,Server3,VLAN10
Server4,Server5,Server6,VLAN10
Server7,Server8,Server9,VLAN11
Server10,Server11,Server12,VLAN11

We need to automate by filtering the CSV and send to concern team for downtime approval. Ex: Activity on VLAN10 - Associated servers will be down. I am no really convinced with this requirement because doing this is easy in PowerShell but the technical process is not really aligned in their IT. I am not bothered about his technical process.

I don't want to highlight it to them because they do have network experts to manage it.

So how to do this in PowerShell is the base question to be answered.

Solution:



$data = Import-Csv C:\Users\904870\Desktop\Book1.csv
$result =@()
foreach($d in $data)
    {
        $result += $d | Where-Object {$_.Rack4 -like "VLAN10"}
         
    }
    $result | Export-Csv C:\Temp\VLAN10.csv

Enjoy PowerShell :)