8

ここで、sort-objectコマンドレットを使用してプロセスをIDでソートしようとしました:

Get-Process | Sort-Object -Property Id

そしてそれはうまくいきます。私が見つけた他の例では、並べ替えは正常に機能しますが、このワンライナーで Active Directory から従業員 ID で従業員を並べ替えようとすると、次のようになります。

Get-QADUser -IncludeAllProperties -SerializeValues | ? {?_.Mail} | select employeeID | sort-object -property employeeID

私はこのようなものを得る:

11
1104
1105
1185
119
12
...
4

2 に答える 2

17

Get-QADUser は eployeeId を文字列として返すため、並べ替えは文字列の並べ替えメカニズムを使用します。employeeIds を整数としてソートするには、プロパティをこの型にキャストするだけです。

Get-QADUser -IncludeAllProperties | Sort-Object { [int]$_.employeeId } | select Name, employeeid 
于 2013-01-29T13:58:57.583 に答える
2

{$_.employeeId -as [int]} も使用できます。これにより、null でエラーが発生することはありません。

私はこの解決策を「Frode F.」で取り上げます。

于 2016-03-10T14:48:48.280 に答える