Причина, по которой вы не можете получить доступ к значениям в таблице ha sh по имени пропа или по доступу на основе ключей, заключается в том, что ключи / реквизиты обернуты в объекты PSObject. Была проблема Github , чтобы исправить это в Powershell Core, но она, вероятно, навсегда останется в Windows Powershell.
Если вы хотите преобразовать в ха sh -table после группировки и хотите получить доступ к некоторым сгруппированным значениям по имени свойства или доступу на основе ключа, сделайте следующее:
$Names = 1..5 | ForEach-Object {
New-Object PsObject | Add-Member -Type ScriptProperty -Name Name -Value { return "MyName"} -PassThru
} | Group-Object -Property 'Name' -AsHashTable -AsString
$Names.MyName
$Names['MyName']
Если вы хотите преобразовать в ha sh -таблицы после группировки и хотите получить доступ ко всем сгруппированным значениям одновременно, сделайте следующее:
$Names = 1..5 | ForEach-Object {
New-Object PsObject | Add-Member -Type ScriptProperty -Name Name -Value { return "MyName"} -PassThru
} | Group-Object -Property 'Name' -AsHashTable
$Names.Values
Если вы не конвертируете в ха sh -таблицы после группировки и хотите получить доступ к данным в $Names.Group
, вам нужно расширить это свойство.
$Names = 1..5 | % {
new-object psobject | add-member -Type ScriptProperty -Name Name -Value {"MyName"} -PassThru
} | Group-Object -Property 'Name'
$Names | Select-Object -ExpandProperty Group