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

Powershell 是否可以按属性(降序)对对象进行排序并仍显示相应的值?,powershell,sorting,object,properties,Powershell,Sorting,Object,Properties,这将按升序提供所有属性。现在,我想按降序显示属性,但要使用它的值。很容易对属性本身进行排序 $procs = Get-Process $procs[0] | GM -MemberType Property …但是,这不会显示相应的值 我还能够以降序方式对一个属性的值进行排序,但不能按属性本身进行排序 编辑:这里有一个屏幕截图,可以更好地说明我想要实现的目标: 您可以在这里看到的是Get Process | Where Object{$\像“a*”}Export Csv-Path“$env:U

这将按升序提供所有属性。现在,我想按降序显示属性,但要使用它的值。很容易对属性本身进行排序

$procs = Get-Process
$procs[0] | GM -MemberType Property
…但是,这不会显示相应的值

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

编辑:这里有一个屏幕截图,可以更好地说明我想要实现的目标:

您可以在这里看到的是
Get Process | Where Object{$\像“a*”}Export Csv-Path“$env:USERPROFILE\Desktop\example.Csv”

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

我希望我现在能解释清楚


感谢您的帮助。

之所以发生这种情况,是因为,毕竟在管道中,结果是带有字符串的哈希表。 将结果保存在变量中,并像这样将其放入管道中,通过在变量后面的“点符号”中输入属性名称,可以详细显示每个属性

或者通过FL使用属性的简短表示

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

你所说的价值观是什么意思?
获取过程的属性/方法的值
?还是
Get进程本身的值?如果是这样的话,比如说什么?抱歉说得不够清楚。我指的是
Get进程本身的值。全部原因是当我导出CSV时,所有列都按属性升序排序。我只是想把它颠倒过来。
Get-Process | Sort-Object-Descending
对您不起作用吗?另外,
$procs[0]| GM-MemberType-Property | Select-Object-Name | Sort-Object-Descending-Property-Name
仍然会抓取
Get-Process
的第一个对象。如果您想要最后一个,可以使用
[-1]
。要通过排序方法获取最后一个,必须首先对输出进行排序。所以:
$procs=Get进程|排序对象-降序
。然后,您可以使用
$procs[0]
。如果我没有误解(按属性名称排序),请对单个进程这样调用:
($procs[0]| select*).PSObject.Properties | sort-Descending Name | select Name,Value
,对于所有进程
获取进程| select*%{$.PSObject Properties | sort-Descending Name | select Name,Value}
谢谢,差不多也能搞定,但还不完全。我已经在我最初的帖子中添加了一个屏幕截图,以更好地解释我想要实现的目标。我猜是。使用类似'Get Process | ft WS、VM、SI、PM、NPM、Name、Handle'的simle命令不是正确的变量?=)$propertys=(Get Process)[0]| GM-MemberType属性|选择对象名称|排序对象-降序-属性名称;获取进程|选择$($propertys.Name[0..$propertys.Count])|输出GridViewYes!你最近的评论起了作用。非常感谢你的帮助。
$propertys = (get-process)[0] | GM -MemberType Property | Select-Object Name | Sort-Object -Descending -Property Name
($propertys.NAME) | %{(get-process)[0].$_}
(get-process)[0] | fl $($propertys.Name[0..$propertys.Count])