2014-09-19 58 views
1

我使用兩個PSObjects讓我們稱它們爲$ job1和$ job2,它們包含一些相同的屬性名稱。 $ job1的屬性具有值,但$ job2的匹配屬性沒有。我需要能夠做一個foreach循環,其中如果$ job1中的屬性名稱與$ job2屬性名稱匹配,則更新$ job2的屬性值屬性名稱。將Psobject屬性值傳遞給另一個Psobject

我正在玩下面的代碼,但我無法得到它來更新$ job2的屬性值。

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

在此先感謝所有的幫助!

回答

1

試試這個:

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

它的工作!謝謝你,從來沒有嘗試過PowerShell中的try和catch語句。 – user2821260 2014-09-19 15:59:48