powershell sort-object无法按预期工作

cul*_*ter 9 powershell quest powershell-2.0 powershell-3.0

我尝试使用sort-object cmdlet按Id在此处对进程进行排序:

Get-Process | Sort-Object -Property Id
Run Code Online (Sandbox Code Playgroud)

而且运作良好.在我发现的任何其他示例中,排序工作正常,但是当我尝试使用这个单行程序从Active Directory中的employeeID对员工进行排序时:

Get-QADUser -IncludeAllProperties -SerializeValues | ? {?_.Mail} | select employeeID | sort-object -property employeeID
Run Code Online (Sandbox Code Playgroud)

我得到这样的东西:

11
1104
1105
1185
119
12
...

Bar*_*ekB 18

Get-QADUser将eployeeId作为字符串返回,因此sort使用字符串排序机制.要将employeeId排序为整数 - 只需将属性转换为此类型:

Get-QADUser -IncludeAllProperties | Sort-Object { [int]$_.employeeId } | select Name, employeeid 
Run Code Online (Sandbox Code Playgroud)