我尝试使用Group对象根据自定义计算对对象列表进行分组。一个非常简单的例子如下:
$groupedProjects = 1..10 | %{
[PSCustomObject]@{
ErrorMessage = if ($_ % 2) { 'SomeError' } else { '' }
}
} | Group-Object -Property { if ($_.ErrorMessage) { 'Failed' } else { 'Successful' } } -AsHashTable
$successGroup = $groupedProjects['Successful']
# $successGroup is null here instead of a list with the integers.
问题是,这些组不是由字符串键控的,而是由其他东西键控的——我不确定我是否真正理解这个问题。
PS:使用脚本块显示在
documentation
以这种方式:
1..35 | Group-Object -Property {$_ % 2},{$_ % 3}
所以我假设这个想法是有效的-使用整数而不是字符串也可以按预期工作。如果有更好的方法来做以上的事情,我会全力以赴的。