Группировка объектов по свойству в PowerShell - PullRequest
0 голосов
/ 25 ноября 2018

Мне бы хотелось, чтобы столбцы Application и ShortcutName были сгруппированы в один столбец, при этом столбцы Version и Architecture должны быть такими:

$object | Select-Object -Property Application, Version, Architecture, ShortcutName |
  Sort-Object -Property @{expression="Architecture";Descending=$true},Application | 
    Out-GridView

Как я могусделать это?

1 Ответ

0 голосов
/ 25 ноября 2018

В PowerShell вы группируете объекты по свойствам с помощью Group-Object.В этом смысле вам нужна не группировка, а определение нового настраиваемого свойства.

Вы создаете настраиваемые свойства с помощью ключей Name и Expression.

Примерно таквероятно, добьемся цели.

$Expression = {
    if ($_.Application) {
        $_.Application
    } 
    else {
        $_.Shortcut
    } 
}

$object | 
    Select-Object -Property @{ Name = 'Application'; Expression = $Expression }, Version, Architecture | 
    Sort-Object -Property @{expression="Architecture";Descending=$true},Application | 
    Out-GridView

Выражение проверяет, заполнено ли свойство Application.Если это так, он будет использовать существующее имя приложения, в противном случае в качестве имени приложения будет использовано свойство Shortcut.

...