将Psobject属性值传递给另一个Psobject

时间:2014-09-19 02:06:30

标签: powershell powershell-v2.0 powershell-v3.0

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

我正在使用下面的代码,但我无法更新$ job2的属性值。

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

提前感谢所有帮助!!

1 个答案:

答案 0 :(得分:1)

试试这个:

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