powershellv2 - 将新参数添加到自定义对象

时间:2014-12-01 15:22:52

标签: object powershell-v2.0

我使用下面的代码创建了一个自定义对象,但我现在需要添加一个额外的属性。

阅读在线文档和帮助文件表明我需要使用add-member(根据下面的示例)。 但是,当我运行这个时,我得到:

Add-Member : A positional parameter cannot be found that accepts argument 'newvar'.

向Object添加新参数的正确语法是什么。

另外,如果我想用不同的值更新参数,我可以使用相同的add-member吗? (它似乎不是一个'更新成员' cmdlet)

$TestList = @(
"item1"
"item2"
)

$TESTObject = @()
foreach($a in $TestList)
    {
        $dItem = $a

        $TESTObject += New-Object PSObject -property @{
                item = "$dItem";
            }
    }

FOREACH($a in $TESTObject)
{   
    #DO STUFF HERE

    $newVar = 1234

    $a | Add-Member newvar $newVar   
}

1 个答案:

答案 0 :(得分:0)

我发现这样做的方式是:

将成员添加到自定义(PSObject)对象

Add-Member -InputObject $TESTObject -MemberType NoteProperty -Name newVar -Value $newVar

要更新我使用的现有成员

Add-Member -InputObject $TESTObject -MemberType NoteProperty -Name newVar -Value $newVar -force

这是否是最好的方法(甚至是正确的方法)我不确定。但似乎有效。