Что я пытаюсь сделать, достаточно просто: создать пользовательский объект с некоторыми свойствами, а затем определить «группы» свойств (столбцов) для использования в Select-Object. Позвольте пояснить:Определить пользовательские наборы свойств (с помощью Add-Member?) Для использования в Select-Object
$props = @{"Mary"=1;"Jane"=2;"Frank"=3;"John"=5;"Brenda"=6}
$obj = New-Object PSObject $props
У меня теперь есть пользовательский объект с некоторыми фиктивными данными. То, что я теперь хочу быть в состоянии сделать это
$obj | select Male
$obj | select Female
И то, что я думал, что будет делать трюк, что-то вроде этого:
$obj | Add-Member PropertySet "Male" @("Frank","John")
$obj | Add-Member PropertySet "Female" @("Mary","Jane","Brenda")
Это не работает - я получаю эту ошибку:
Add-Member : Cannot convert the "System.Object[]" value of type
"System.Object[]" to type "System.Collections.ObjectModel.Collection`1[System.String]".
Я предполагаю, что я должен предоставить другой тип объекта, чем мой массив в Add-Member
, но я не уверен, как я должен это сделать.
У кого-нибудь есть опыт?
Важное примечание. Я нахожусь на Powershell 2, и я читал на разных сайтах, что у него есть ошибка, которая не позволяет устанавливать свойства по умолчанию. Это не то, что я хочу сделать - я хочу создать настраиваемый набор свойств, а не стандартный, но может быть, что эта ошибка также мешает мне получить то, что я хочу.
Graimer, ваш ответ заполнен, подробно, до точки и больше, чем я даже просил. Вы сделали мой день! Теперь он отлично работает. Жаль, что я не могу дважды проголосовать за ваш ответ :) – Joost
Твой добрый комментарий более чем достаточно :-) –