图表创建中的数据问题

时间:2016-04-06 08:04:05

标签: arrays powershell

我正在尝试按Get-CorpChart-LightEdition脚本创建图表,我发现图表创建非常好。

我在哈希表中有数据。现在根据上面脚本的要求,我需要传递数组中的值。

$ModelCount Hash table
$l_array is Array

$l_array = $ModelCount | out-string -stream

当我打印数组$l_array时,它显示的是这样的数据。

Name                           Value                                                                                                                                                                                   
----                           -----                                                                                                                                                                                   
CF-31JLCAXFN                   1                                                                                                                                                                                       
OptiPlex GX620                 1                                                                                                                                                                                       
HP ProDesk 600 G1 SFF          1                                                                                                                                                                                       
Latitude E6430                 2                                                                                                                                                                                       
LIFEBOOK S761                  1                                                                                                                                                                                       
CF-19AHNAXFN                   2                                                                                                                                                                                       
OptiPlex 790                   5                                                                                                                                                                                       
Precision WorkStation T7500    2                                                                                                                                                                                       
Precision T3610                2                                                                                                                                                                                       
Precision T3600                17                                                                                                                                                                                      
Latitude E5530 non-vPro        1                                                                                                                                                                                       
Precision WorkStation T7400    1                                                                                                                                                                                       
Dell Precision M3800           3                                                                                                                                                                                       
OptiPlex XE2                   2                                                                                                                                                                                       
Precision WorkStation T3500    1                                                                                                                                                                                       
VMware Virtual Platform        1                                                                                                                                                                                       
Virtual Machine                8                                                                                                                                                                                       
Venue 11 Pro 7130 vPro         1                                                                                                                                                                                       
CELSIUS R650                   1                                                                                                                                                                                       
Precision T1500                2                                                                                                                                                                                       
HP Compaq Elite 8300 CMT       1                                                                                                                                                                                       
Surface Pro 3                  2                                                                                                                                                                                       
Latitude E6230                 1                                                                                                                                                                                       
Latitude E7240                 1                                                                                                                                                                                       
P5Q DELUXE                     1                                                                                                                                                                                       
Precision M4600                1                                                                                                                                                                                       
OptiPlex XE                    3                                                                                                                                                                                       
Latitude E6320                 1                                                                                                                                                                                       
                               4                                                                                                                                                                                       
CELSIUS W380                   1                                                                                                                                                                                       
OptiPlex 7010                  13  

这是我用来生成图表的命令。

. "D:\Automation\Get-Corpchart-LightEdition.ps1" -data $l_array -obj_key "Name" -obj_value "Value" -filepath "c:\barchart1.png" -type Bar -title_text "Total devices with model" -chartarea_Xtitle "Count" -chartarea_Ytitle "Models"

当我执行脚本时,我收到错误。

  

Get-Corpchart-LightEdition.ps1:无法验证参数的参数   '数据'。参数为null或空。提供一个不是的论据   null或empty然后再次尝试该命令。

任何建议我做错了什么?

修改:

$l_array.GetType()

    IsPublic IsSerial Name                                     BaseType                                                                                                                                                    
    -------- -------- ----                                     --------                                                                                                                                                    
    True     True     String[]                                 System.Array 

1 个答案:

答案 0 :(得分:1)

回答来自PetSerAl

获取哈希表的Enumerator并使用@()将其显式转换为数组:

. "D:\Automation\Get-Corpchart-LightEdition.ps1" -data @($ModelCount.GetEnumerator()) -obj_key "Name" -obj_value "Value" -filepath "c:\barchart1.png" -type Bar -title_text "Total devices with model" -chartarea_Xtitle "Count" -chartarea_Ytitle "Models"