可以按 属性(降序)对对象进行排序并仍然显示相应的值吗?

Possible to sort object by property (descending) and still display corresponding values?

$procs = Get-Process
$procs[0] | GM -MemberType Property

这会按升序给出所有属性。现在,我想按降序显示属性,但要显示它的值。属性本身很容易排序...

$procs[0] | GM -MemberType Property | Select-Object Name | Sort-Object -Descending -Property Name

...但是这不会显示相应的值。

我还能够以降序方式对一个 属性 的值进行排序,但不能按属性本身排序。

编辑:这是一张截图,可以更好地说明我想要实现的目标:

您在这里看到的是 Get-Process | Where-Object { $_.Name -like "a*" } | Export-Csv -Path "$env:USERPROFILE\Desktop\example.csv"

的示例输出

如您所见,属性未排序。我希望能够准确输出屏幕截图显示的内容,但 属性 列及其相应值按降序排序,即 WS、VM、SI、PM、NPM、名称、句柄。

我希望我现在能解释清楚了。

感谢您的帮助。

发生这种情况是因为,毕竟在您的管道中结果是带有字符串的哈希表。 将结果保存在变量中并像这样将其放入管道,它通过将 属性 的名称放在变量之后详细显示每个 属性 In "dot notation"

$propertys = (get-process)[0] | GM -MemberType Property | Select-Object Name | Sort-Object -Descending -Property Name
($propertys.NAME) | %{(get-process)[0].$_}

或使用 FL

来简短地介绍属性
(get-process)[0] | fl $($propertys.Name[0..$propertys.Count])