Powershell 根据计数对哈希表进行排序

Powershell sort hashtable based on count

我的代码采用数组 $iis_stats 并显示 (1) 内容 NAME (2) 此内容的出现次数 Value

$iis_stats | group | % { $h = @{} } { $h[$_.Name] = $_.Count } {$h}

如何按值降序对 $h 进行排序并打印?

我试过了

$h | sort-object @{Expression={$_[1]}; Ascending=$false} {$h}

我得到错误:

Sort-Object : A positional parameter cannot be found that accepts argument '$h'.
At D:\Script\parse_IIS_logs.ps1:45 char:6
+ $h | sort-object @{Expression={$_[1]}; Ascending=$false} {$h}
+      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Sort-Object], ParameterBindingException
    + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.SortObjectCommand

如何修复?

像这样?

$h.getenumerator() | sort value -descending