我希望将Application和ShortcutName列分组为一列,同时保持Version和Architecture列不变:
$object | Select-Object -Property Application, Version, Architecture, ShortcutName |
Sort-Object -Property @{expression="Architecture";Descending=$true},Application |
Out-GridView
我该怎么做?
答案 0 :(得分:3)
在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
属性作为应用程序名称。