Powershell:向自定义对象添加线条

时间:2014-05-20 08:49:13

标签: arrays powershell

我有以下代码。

$strProjectPath="C:\temp\mps.xls";
$strServersExtr= @()
$strOSExtr= @()
$objServersList = New-Object PSObject
$objServersList | Add-Member -MemberType NoteProperty -Name ServerName -Value "" -PassThru | Add-Member -MemberType NoteProperty -Name OSType -Value ""

我读了一个Excel文件(通过循环),将2个特定列放到这两个成员中。问题是我无法添加"值"一个接一个地。 + =不使用对象。我也尝试收集到数组然后再到对象但它也没有工作。如何将线条添加到现有对象?

示例:

ServerName                                                  OSType
----------                                                  ------
blabla1                                                     Windows XP
blabla2                                                     Windows 7 Professional

PS1. $ strServersExtr和$ strOSExtr试图收集2个数组中的2列,然后将它们放入对象中。

PS2。我使用PS 3.0,但任何解决方案都会更好,因为我试图使代码易于在PS 2.0上运行。

2 个答案:

答案 0 :(得分:3)

我认为你想要一些对象(不是'行')。所以

$serverList= @() 
$serverList+= @{ServerName= 'blabla1'; OSType='Windows XP'}
$serverList+= @{ServerName= 'blabla2'; OSType='Windows XP Profesional'}

#display as table
$serverList | % { new-object PSObject -Property $_}

答案 1 :(得分:0)

编辑: 要向阵列添加多个元素,请使用+=,表示法:

...
$objServer = New-Object PSObject 
$objServer | Add-Member -MemberType NoteProperty -Name ServerName -Value "" -PassThru | Add-Member -MemberType NoteProperty -Name OSType -Value ""
$objServersList +=,$objServer