将字符串和格式化为表格

时间:2017-08-15 15:24:48

标签: string powershell csv

我为主机输出了Invoke-SSHCommand命令,它以字符串的形式提供了以下信息:

PS C:\Users\user> $t.Output
system> Machine Type-Model             Serial Number                  UUID
--------------                 ---------                      ----
8871AC1                        XXXXXXX                        ABCDEFGHIJKLMNOPQRSTUV
system> 

是否有人对如何获取上述输出并将其操作为CSV或任何能够提供以下功能的内容有任何建议或提示:

PS user> $t.Output.UUID
ABCDEFGHIJKLMNOPQRSTUV
PS user> $t.Output.Serial
XXXXXXXX

目前,我能做的最多就是:

PS C:\Users\user> $t.Output.Get(0)
system> Machine Type-Model             Serial Number                  UUID

感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

假设$t.Output不是对象,而是非结构化文本,因此您无法使用ConvertTo-Csv,首先必须从非结构化文本创建结构化对象。这是ConvertFrom-String的用途。

实施例

$tObject = $t.Output | ConvertFrom-String -PropertyNames 'Machine Type-Model', 'Serial Number', 'UUID' | Select-Object -Skip 2 
$tObject | ConvertTo-Csv -NoTypeInformation
"Machine Type-Model","Serial Number","UUID"
"8871AC1","XXXXXXX","ABCDEFGHIJKLMNOPQRSTUV"