如何将以下导出的文本转换为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
答案 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