【问题标题】:Passing Psobject Property values to another Psobject将 Psobject 属性值传递给另一个 Psobject
【发布时间】:2014-09-19 02:06:30
【问题描述】:

我正在使用两个 PSObject,我们将它们称为 $job1 和 $job2,它们包含一些相同的属性名称。 $job1 的属性具有值,但 $job2 的匹配属性没有。我需要能够执行 foreach 循环,如果 $job1 中的属性名称与 $job2 属性名称匹配,则更新 $job2 的属性值基于属性名称。

我在玩下面的代码,但我无法让它更新 $job2 的属性值。

$job1.PSObject.Properties | %{if($_.Name -in $job2.PSObject.Properties.Name){[$_.Value = $job2.PSObject.Properties.Value}}

提前感谢所有帮助!

【问题讨论】:

    标签: powershell powershell-2.0 powershell-3.0


    【解决方案1】:

    试试这个:

    Foreach ( $Property in $Job1.Psobject.Properties.Name )
    {
     Try { $Job2.$Property = $Job1.$Property }
     Catch { Continue }
    }
    

    【讨论】:

    • 成功了!!谢谢,从未尝试过 powershell 中的 try 和 catch 语句。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-14
    • 1970-01-01
    • 1970-01-01
    • 2022-01-06
    相关资源
    最近更新 更多