代码之家  ›  专栏  ›  技术社区  ›  Rakha

在powershell中合并/合并对象的快速方法

  •  1
  • Rakha  · 技术社区  · 7 年前

    我有两个对象,每个对象包含20多个属性。

    现在我有了$object1,$object2。

        $properties = [ordered]@{
        'a'=$object1.propertyX;
        'b'=$object1.propertyY;
        'c'=$object2.propertyX;
        ...
        }
    
    $CombinedObject = New-Object –TypeName PSObject -Property $properties
    

    这是可行的,但是,键入每个对象总共约40个属性需要很多时间。

    1 回复  |  直到 7 年前
        1
  •  2
  •   TheMadTechnician    7 年前

    您可以为每个对象的属性创建一个哈希表,并从中创建一个对象。我建议在每个属性前面加上AD和SQL,以了解它来自哪个对象并避免冲突。

    $PropertyHT = @{}
    $object1.psobject.properties.name | ForEach-Object{ $PropertyHT.Add("AD$_",$Object1.$_) }
    $object2.psobject.properties.name | ForEach-Object{ $PropertyHT.Add("SQL$_",$Object2.$_) }
    $CombinedObject = New-Object –TypeName PSObject -Property $PropertyHT
    
    推荐文章