Object powershellv2-向自定义对象添加新参数
我已经使用下面的代码创建了一个自定义对象,但现在需要添加一个附加属性Object powershellv2-向自定义对象添加新参数,object,powershell-2.0,Object,Powershell 2.0,我已经使用下面的代码创建了一个自定义对象,但现在需要添加一个附加属性 $TestList = @( "item1" "item2" ) $TESTObject = @() foreach($a in $TestList) { $dItem = $a $TESTObject += New-Object PSObject -property @{ item = "$dItem"; } } F
$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
}
阅读在线文档和帮助文件表明我需要使用addmember
(根据下面的示例)。
但当我运行这个时,我得到:
Add-Member : A positional parameter cannot be found that accepts argument 'newvar'.
$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
}
向对象添加新参数的正确语法是什么
$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
}
另外,如果我想用不同的值更新参数,我可以使用相同的add成员吗?(似乎没有“更新成员”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
}
我发现这样做的方法是:
$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
}
将成员添加到自定义(PSObject
)对象
$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
}
以及更新我使用的现有成员
$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
}
Add-Member -InputObject $TESTObject -MemberType NoteProperty -Name newVar -Value $newVar -force
我不确定这是否是最好的方法(甚至是正确的方法)。但它似乎奏效了
$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
}