排序,唯一不能正常工作此字符串的Powershell

问题描述:

请注意,此处格式不正确。
这下面是每个vm 3行。排序,唯一不能正常工作此字符串的Powershell

  1. 列名[6]
  2. 破折号[伪下划线为列名]
  3. VM信息

这信息是一个变量类型是串。

我想将唯一的标题和破折号排序到一行。并取出空行....没有什么工作..试图获取唯一的,排序 - 独特等

 

    Cluster    Name   Guest VMHost      Vcenter      PowerState 
    -------    ----   ----- ------      -------      ---------- 
    testesxlabcluster01 testvm5v  testesxhlab01.lab.vm.com testvcntrlab01.lab.vm.com PoweredOff 



    Cluster    Name   Guest VMHost      Vcenter      PowerState 
    -------    ----   ----- ------      -------      ---------- 
    testesxlabcluster01 testvm4v  testesxhlab02.lab.vm.com testvcntrlab01.lab.vm.com PoweredOff 



    Cluster    Name   Guest VMHost      Vcenter      PowerState 
    -------    ----   ----- ------      -------      ---------- 
    testesxlabcluster01 testvm3v  testesxhlab02.lab.vm.com testvcntrlab01.lab.vm.com PoweredOff 



    Cluster    Name   Guest        VMHost      Vcenter      PowerState 
    -------    ----   -----        ------      -------      ---------- 
    testesxlabcluster01 testvm2v Red Hat Enterprise Linux 6 (64-bit) testesxhlab02.lab.vm.com testvcntrlab01.lab.vm.com PoweredOn 



    Cluster    Name   Guest        VMHost      Vcenter      PowerState 
    -------    ----   -----        ------      -------      ---------- 
    testesxlabcluster01 testvm1v Red Hat Enterprise Linux 6 (64-bit) testesxhlab02.lab.vm.com testvcntrlab01.lab.vm.com PoweredOn 

看起来像这样...

 

Cluster    Name   Guest     VMHost      Vcenter      PowerState 
-------    ----   -----     ------      -------      ---------- 
testesxlabcluster01 testtestvm5v      testesxhlab01.lab.vm.com testvcntrlab01.lab.vm.com  PoweredOff 
testesxlabcluster01 testtestvm4v      testesxhlab02.lab.vm.com testvcntrlab01.lab.vm.com  PoweredOff 
testesxlabcluster01 testtestvm3v      testesxhlab02.lab.vm.com testvcntrlab01.lab.vm.com  PoweredOff 
testesxlabcluster01 testtestvm2v Red Hat Enterprise Linux 6 (64-bit) testesxhlab02.lab.vm.com testvcntrlab01.lab.vm.com  PoweredOn 
testesxlabcluster01 testtestvm1v Red Hat Enterprise Linux 6 (64-bit) testesxhlab02.lab.vm.com testvcntrlab01.lab.vm.com  PoweredOn 

任何想法?

+0

为什么你不使用字符串运算符?任何C#函数都可以从powershell中调用 –

+1

请解释或显示一个示例。 – nixgeek

+0

您可以设置您的问题的格式,使用下半部分的代码标签。我不完全理解你在这里问什么 –

你说是存储在一个变量,所以我们称之为$var

你必须告诉我,生成存储在$var数据呼叫...

首先,倒是运行获取数据

$var = Command arg1 arg2

不要任何Out-StringFormat-Table输出存储到$var使得命令它是一个PSobject而不是一个字符串。

那么你应该能够做一个“选择为”(是我喜欢称呼它):

$var = $var | select @{l='original_header1';e='new_header1'},@{l='original_header2';e='new_header2'} 

如果你想输出什么在变

C:>$var

我强烈建议在编写脚本之前在命令行测试它。

+0

嗯我能够做一个findstr和那个作品...当Get.type() True True String [] System.Array – nixgeek

+0

好吧,我现在添加我想要它看起来像.... – nixgeek