Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell 将Psobject属性值传递给另一个Psobject_Powershell_Powershell 2.0_Powershell 3.0 - Fatal编程技术网

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

Powershell 将Psobject属性值传递给另一个Psobject,powershell,powershell-2.0,powershell-3.0,Powershell,Powershell 2.0,Powershell 3.0,我使用了两个PSObject,分别称为$job1和$job2,它们包含一些相同的属性名。$job1的属性有值,但$job2的匹配属性没有。我需要能够执行foreach循环,如果$job1中的属性名称与$job2属性名称匹配,则根据属性名称更新$job2的属性值 我在玩下面的代码,但我无法让它更新$job2的属性值 $job1.PSObject.Properties | %{if($_.Name -in $job2.PSObject.Properties.Name){[$_.Value = $jo

我使用了两个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}}
提前感谢所有的帮助

试试这个:

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

成功了!!谢谢你,从来没有在powershell中尝试过try-and-catch语句。