powershell - 检查相同的哈希表值

标签 powershell hashtable

如何遍历哈希表以验证所有值是否相同?

我有一个从事件目录查询返回哈希表的脚本。每个服务器返回的值应该相同,因此如果所有值都相同,我想返回 true,如果任何值与其他值不匹配,则返回 false。理想情况下,即使添加了第 4 或第 5 个服务器而无需更新脚本,这也会起作用。

Name                           Value
----                           -----
server1                        0
server2                        0
server3                        0

最佳答案

不是最有效但很简单的方法是@($h.Values | Group-Object).Count -eq 1 .

例子:

# all the same
$h = @{ server1=0; server2=0; server3=0 }

# gets True
@($h.Values | Group-Object).Count -eq 1

# different
$h = @{ server1=0; server2=0; server3=1 }

# gets False
@($h.Values | Group-Object).Count -eq 1

特殊情况是如何处理具有 0 个项目的表。例如。如果意思都一样,那么 -le 1可以在检查中使用。

关于powershell - 检查相同的哈希表值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18338592/

相关文章:

Powershell 错误提示库不可用稍后再试

c# - 无需 TFS 或 VSTS 即可自动部署 Service Fabric 项目

powershell - Azure Batch 容器配置中 Azure 容器注册表的 AD 服务主体?

powershell - Get-ChildItem Cert :\(Locally executed) vs. Invoke-Command 结果差异混淆?

bash - 如何在当前 PowerShell 工作目录中从 PowerShell 进入 Windows-Subsystem-for-Linux (ubuntu)

c - 尝试在哈希表中插入键时收到 "Segmentation fault"

c - 为什么我的程序在增加哈希表的大小时会变慢

powershell - 如何在Azure DevOps PowerShell中编写 “System.Collections.Hashtable”变量

java - 封闭寻址哈希表。它们是如何调整大小的?

c++ - 删除动态内存