我有一个属性名称和值的二维数组,我需要添加到PowerShell对象.
使用New-Object和Add-Member创建和显示这样的对象没有任何问题:
$obj = New-Object PSObject
$obj | Add-Member NoteProperty IName($fiel.IName)
$obj | Add-Member NoteProperty SName($fiel.SName)
$obj | Add-Member NoteProperty Taggy($fiel.Taggy)
$obj | Add-Member NoteProperty Title($fiel.Title)
Write-Output $obj
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试这样的事情时:
for ($k=0; $k -lt $fieldsArray.Count; $k++)
{
$itemobj | Add-Member –MemberType NoteProperty –Name $fieldsArray[$k].InternalName –Value $itemki[$j][$fieldsArray[$k].InternalName]
#Write-Host $k
#Write-Host $fieldsArray[$k].InternalName.ToString()
#Write-Host $itemki[$j][$fieldsArray[$k].InternalName]
}
Write-Output $itemobj
Run Code Online (Sandbox Code Playgroud)
Write-Output $ itemobj将只返回一个应该添加的属性成员而没有任何整齐的列名.
添加了注释掉的部分用于测试目的并返回所有项目的正确值.
我也试过了
$itemobj | Add-Member NoteProperty $fieldsArray[$k].InternalName.ToString()($fieldsArray[$k].InternalName)
Run Code Online (Sandbox Code Playgroud)
没有任何改进.
为什么没有添加其他房产成员?
我有我需要的数据.如果我写:
for ($k=0; $k -lt $fieldsArray.Count; $k++)
{
Write-Host $k …Run Code Online (Sandbox Code Playgroud)