Search code examples
powershellpowershell-2.0powershell-4.0

How to convert string to table or objects in powershell


How can I convert the below exported text to csv so that i can use it as objects in powershell. Eg:

where{$_.qlimit -eq 27}

Text:

  samid            qlimit    qused  
  Administrator    -1        0      
  Guest            -1        0      
  admin            27        8      
  krbtgt           -1        0      
  r                -1        0      
  admin2           44        0  

Solution

  • Use the Get-Content cmdlet to load the file, replace two or more whitespaces with a comma and convert it to CSV using the ConvertFrom-Csv cmdlet:

    $object = (Get-Content 'your_file').Trim() -replace '\s{2,}', ',' | ConvertFrom-Csv
    

    If you now query your object:

    $object | where qlimit -eq 27
    

    You get the desired output:

    samid qlimit qused
    ----- ------ -----
    admin 27     8