如何将字符串转换为powershell

时间:2016-06-26 07:28:29

标签: powershell powershell-v2.0 powershell-v4.0

如何将以下导出的文本转换为csv,以便我可以将其用作powershell中的对象。例如:

where{$_.qlimit -eq 27}

文本:

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

3 个答案:

答案 0 :(得分:4)

使用Get-Content cmdlet加载文件,用逗号替换两个或多个空格,并使用ConvertFrom-Csv cmdlet将其转换为CSV

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

如果您现在查询对象:

$object | where qlimit -eq 27

您可以获得所需的输出:

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

答案 1 :(得分:0)

ConvertFrom-String的另一种方式(文件中没有标题):

(Get-Content 'your_file').trim() | ConvertFrom-String -PropertyNames samid,qlimit,qused

答案 2 :(得分:0)

您可以使用ConvertFrom-SourceTable中的PowerShell Gallery cmdlet轻松地将表转换为PowerShell对象:

ConvertFrom-SourceTable '
  samid            qlimit    qused  
  Administrator    -1        0      
  Guest            -1        0      
  admin            27        8      
  krbtgt           -1        0      
  r                -1        0      
  admin2           44        0  
' | Where-Object {$_.qlimit -eq 27}

结果:

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