我为主机输出了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
感谢任何帮助。
答案 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"