我使用下面的代码创建了一个自定义对象,但我现在需要添加一个额外的属性。
阅读在线文档和帮助文件表明我需要使用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
}
答案 0 :(得分:0)
我发现这样做的方式是:
将成员添加到自定义(PSObject
)对象
Add-Member -InputObject $TESTObject -MemberType NoteProperty -Name newVar -Value $newVar
要更新我使用的现有成员
Add-Member -InputObject $TESTObject -MemberType NoteProperty -Name newVar -Value $newVar -force
这是否是最好的方法(甚至是正确的方法)我不确定。但似乎有效。