String 如何计算PSObject上的字符串?

String 如何计算PSObject上的字符串?,string,parsing,search,powershell-3.0,psobject,String,Parsing,Search,Powershell 3.0,Psobject,我对对象的概念仍然很陌生,无法理解这一点: PS C:\Windows\system32> $obj1 = New-Object psobject $obj1 | Add-Member -NotePropertyName Whatever -NotePropertyValue "blah" $obj2 = New-Object psobject $obj2 | Add-Member -NotePropertyName Whatever -NotePropertyValue "blih b

我对对象的概念仍然很陌生,无法理解这一点:

PS C:\Windows\system32> $obj1 = New-Object psobject
$obj1 | Add-Member -NotePropertyName Whatever -NotePropertyValue "blah"

$obj2 = New-Object psobject
$obj2 | Add-Member -NotePropertyName Whatever -NotePropertyValue "blih blah"

$obj2 | %{$obj1 -match $_}
False
好的,看来我不能在PSCustomObject System.Object上使用-match操作符,因为字符串“blah”在两个对象中都存在

因此,如果我尝试:

PS C:\Windows\system32> $arr1 = @("blah")
$arr2 = @("blih blah")
$arr1 | %{$arr2 -match $_}
blih blah
那就行了! 那又怎么样?是否需要将任何PSCustomObject System.Object转换为Object System.Array 在我可以使用诸如“-match”之类的运算符之前

当然,必须有一种直接从PSCustomObject系统快速而直接地完成这项工作的方法。Object,不是吗

我要做的就是解析2 PSCustomObject System.Object,并检查第一个的值是否以某种方式存在于第二个中(完全匹配、部分匹配等)


非常感谢

嗯。。。我刚刚找到了解决办法。。PS C:\Windows\system32>$obj1=新对象psobject$obj1 |添加成员-NotePropertyName任意-NotePropertyValue“blah”$obj2=新对象psobject$obj2 |添加成员-NotePropertyName任意-NotePropertyValue“blih blah”$obj1 |%{$obj2.where-匹配$|.where}真的,好的,我必须指定要比较的属性..有意义。我把问题留着,以防有人有一个小把戏/建议,或者有什么可以方便将来参考的东西:)
$obj1 = New-Object psobject
$obj1 | Add-Member -NotePropertyName Whatever -NotePropertyValue "blah"

$obj2 = New-Object psobject
$obj2 | Add-Member -NotePropertyName Whatever -NotePropertyValue "blih blah"

$obj1 | %{$obj2.Whatever -match $_.Whatever}