我要解决的特定问题是使用powercli派生的VM及其主机列表,但我认为对于任何Powershell对象列表,可能会更普遍地询问该问题。
我有一个对象及其属性的列表。我想将该列表中的每个对象与该列表中的所有其他对象进行比较,并查看其中哪些VM具有相同的属性。
$vms = Get-VM | Where-Object {$_.Name -like '*vma*'} | Select Name, VMHost
有没有一种相对简单的方法可以遍历列表并将每个对象与该列表中的每个其他对象进行比较,并查看哪些对象具有相同的“VMHost”属性?我发现的大多数问题都与比较两个对象数组有关,但我不确定这是否有帮助。
最终目标是生成一个报告,突出显示名称与特定字符串匹配并共享主机的VM,以便可以对其进行手动检查并在需要时将其移至其他主机。
最佳答案
从here:
$b = $a | select –unique
Compare-object –referenceobject $b –differenceobject $a
选择唯一的对象,然后将其与完整列表进行比较,以便您检查未复制的内容。
关于powershell - Powershell:将列表中的对象与同一列表中的其他对象进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41937606/