Powershell-比较来自不同对象数组的值

时间:2020-10-06 14:25:44

标签: powershell-4.0

我是一个处理对象的新手,所以这是我对问题的最佳解释。

这两个命令告诉我两者的值都相同

$ IDgroup的TypeName:Microsoft.PowerShell.Commands.GroupInfo

$ response的类型名称:System.Management.Automation.PSCustomObject

PS C:\Windows\system32> $IDgroup.name
entryas.onmicrosoft.com
museumsforbundet.onmicrosoft.com
FrankeOnsrudBlikkslage.onmicrosoft.com

PS C:\Windows\system32> $response."org name"
museumsforbundet.onmicrosoft.com
FrankeOnsrudBlikkslage.onmicrosoft.com
entryas.onmicrosoft.com
entryas.onmicrosoft.com

这两个命令都是正确的:

PS C:\Windows\system32> $idgroup.name -contains "FrankeOnsrudBlikkslage.onmicrosoft.com"
True

PS C:\Windows\system32> $response."org name" -contains "FrankeOnsrudBlikkslage.onmicrosoft.com"
True

但这是错误的:

$idgroup.name -contains $response."org name"
False

如果我做一个比较对象,我会把它找回来(在运行它之前,我已经从“组织名称”中删除了空间):

PS C:\Windows\system32> Compare-Object $response.orgname $IDgroup.name
Compare-Object : Cannot bind argument to parameter 'ReferenceObject' because it is null.
At line:1 char:16
+ Compare-Object $response.orgname $IDgroup.name
+                ~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidData: (:) [Compare-Object], ParameterBindingValidationException
    + FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.CompareObjectCommand

我在这里不明白/做错了什么?

我要做什么: 对于eq / match /包含$ response。“ org name”的每个$ IDgroup.name,我需要获取$ IDgroup Count值,然后将计数值作为新成员添加到与@ IDgroup.name匹配的$ response对象中

0 个答案:

没有答案
相关问题