powershell - Powershell:将列表中的对象与同一列表中的其他对象进行比较

标签 powershell

我要解决的特定问题是使用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/

相关文章:

c# - C# 中的 Powershell 语句

powershell - 使用文件夹 GUID 在 Powershell 中获取任何特殊文件夹路径

.net - 如何通过 Net.WebRequest 正确发送 json 数据 - PowerShell

powershell - 无法在 Sitecore 项目上设置工作流程和工作流程状态属性

powershell - 用于Exchange 2007的Powershell管理单元

windows - powershell 2.0命令行重定向

c# - Powershell Mysql 错误

powershell - 为什么我在 Get-Module 的结果中没有列出 Microsoft.Powershell.Core?

.net - 验证签名的 Word 文档的正确方法是什么?

iis - 使用powershell查找IIS版本