2016-02-19 59 views
0

我有一个自定义对象,我直接向其中添加了一个变量的属性,但是有一个属性拥有多个值。如何将所有这些多个值添加到我的自定义对象?将具有多个值的属性添加到自定义对象

这工作得很好,如果有一个一值

$info | Add-Member -Type NoteProperty -Name "USEDSPACE %" -Value $usage 

但在这种情况下,$ result.name心不是工作,其中$ result.name有一组值不是一个

$info | Add-Member -Type NoteProperty -Name PATHS -Value $result.name 
+3

你是什么意思*不工作*?结果与你想要的有什么不同? – PetSerAl

+0

@PetSerAl它的工作,当我尝试发送它为HTML它不显示,所以我假设它不添加并显示此:System.Object [] – Fenomatik

+0

如何将对象转换为HTML? – PetSerAl

回答

0

这是我设法多个值添加到PS自定义对象,也许你可以使其适应你的需求:

$table = New-Object psobject 

$table | gm 

$keys = New-Object System.Collections.ArrayList 

for([int32]$i = 1;$i -le 8;$i++){[void]$keys.add($i)} 

$table | Add-Member -MemberType NoteProperty -Name Keys -Value $keys 

CH ECK您的数据和类型:

$table | gm 

$table 

$table.Keys 

$table.Keys[0] 

$table.Keys[5] 

您可以使用过程中的任何数据类型,你所需要的,在我的情况,需要一个Int32的,但你可以到你的列表中添加任何东西,你的自定义对象的noteproperty将有相同的数据类型。

如果你想使用你的对象的值,你可以像这样访问它们,并与他们做一些事情。

foreach($key in $table.Keys){[math]::Pow(2,$key)}

希望我能帮助!