Следующий код возвращает ожидаемый список.Select-Object не возвращает объект?
$groups = ps | group Name
$groups | Sort-Object Name | % {
$g = $_.Group | measure PM -Sum;
New-Object psobject -Property @{ Name2 = $_.Name; Count = $g.Count; Sum = $g.Sum }
}
Однако, следующий сценарий, который использует select
для создания пользовательского объекта, ничего не возвращает? Я читал, что Select-object
- это еще один способ создать PSObject
?
$groups = ps | group Name
$groups | Sort-Object Name | % {
$g = $_.Group | measure PM -Sum;
select -Property @{ Name = 'Name'; expression = { $_.Name }},
@{ Name = 'Count'; expression = { $g.Count }},
@{ Name = 'Sum'; expression = { $g.Sum }}
}
Обновление: Испытано его на Powershell 2.0 и 3.0. Они ведут себя одинаково.
Windows PowerShell Copyright (C) 2012 Microsoft Corporation. All rights reserved. PS H:\> $groups = ps | group Name PS H:\> PS H:\> $groups | Sort-Object Name | % { >> $g = $_.Group | measure PM -Sum; >> # New-Object psobject -Property @{ Name2 = $_.Name; Count = $g.Count; Sum = $g.Sum } >> select -Property @{ Name = 'Name'; expression = { $_.Name }}, @{ Name = 'Count'; expression = { $g.Count }}, @{ Name = 'Sum'; expression = { $g.Sum }} >> } >> PS H:\>
Протестировано в PS 2.0, и все работает отлично. –
Я тестировал на трех машинах (два 3.0 и один 2.0), а второй скрипт ничего не возвращал на всех трех машинах. – ca9163d9