Я думаю, что вы можете преобразовать значение в массив, а затем получить свойство Count.
Итак:
$keys.GetEnumerator() | % {
[PSCustomObject]@{
key = @($_.Value).Count
}
}
, если я правильно понимаю ваш код.
Это называется оператором подвыражения массива согласно about_Arrays .
Поскольку ответ на комментарий предыдущего предложения указывает на то, что формат вывода значения не некоторого объекта, а не строки, тогда значение нужно будет проанализировать.
Вот пример того, как это можно сделать:
@('{a,b}' -replace '{', '' -replace '}', '' -split ',').Count
, который выдает результат 2.
Это просто использует операторы, как описано в about_Operators