我尝试使用sort-object cmdlet按Id在此处对进程进行排序:
Get-Process | Sort-Object -Property Id
它运作良好。在我发现的任何其他示例中,排序工作正常,但是当我尝试使用这个单行程序从Active Directory中的employeeID对员工进行排序时:
Get-QADUser -IncludeAllProperties -SerializeValues | ? {?_.Mail} | select employeeID | sort-object -property employeeID
我得到这样的东西:
11 1104 1105 1185 119 12 ...
答案 0 :(得分:18)
Get-QADUser将eployeeId作为字符串返回,因此sort使用字符串排序机制。 要将employeeId排序为整数 - 只需将属性转换为此类型:
Get-QADUser -IncludeAllProperties | Sort-Object { [int]$_.employeeId } | select Name, employeeid
答案 1 :(得分:2)
你也可以使用{$ _。employeeId -as [int]}。这不会导致null错误。
我用“Frode F。”来解决这个问题。