我希望将 Application 和 ShortcutName 列分组为一列,同时保持 Version 和 Architecture 列不变:
$object | Select-Object -Property Application, Version, Architecture, ShortcutName |
Sort-Object -Property @{expression="Architecture";Descending=$true},Application |
Out-GridView
我怎样才能做到这一点 ?
最佳答案
在 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
是否属性(property)已满。如果是这样,它将使用现有的应用程序名称,否则将使用 Shortcut
属性作为应用程序名称。
关于powershell - 在 PowerShell 中对属性上的对象进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53466437/