我有以下代码。
$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上运行。
答案 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