当我得到Get-PhysicalDisk
的结果时,结果似乎是按文本而不是按数字排序的:
Get-PhysicalDisk | Where-Object { $_.CanPool -eq $True } | Sort-Object -Property DeviceID
我得到
Number OperationalStatus HealthStatus
10 SSD TRUE OK Healthy Auto-Select 6.82 TB
11 SSD TRUE OK Healthy Auto-Select 6.82 TB
12 SSD TRUE OK Healthy Auto-Select 6.82 TB
13 SSD TRUE OK Healthy Auto-Select 6.82 TB
14 SSD TRUE OK Healthy Auto-Select 6.82 TB
15 SSD TRUE OK Healthy Auto-Select 6.82 TB
16 SSD TRUE OK Healthy Auto-Select 6.82 TB
17 SSD TRUE OK Healthy Auto-Select 6.82 TB
18 SSD TRUE OK Healthy Auto-Select 6.82 TB
19 SSD TRUE OK Healthy Auto-Select 6.82 TB
20 SSD TRUE OK Healthy Auto-Select 6.82 TB
5 SSD TRUE OK Healthy Auto-Select 6.82 TB
6 SSD TRUE OK Healthy Auto-Select 6.82 TB
7 SSD TRUE OK Healthy Auto-Select 6.82 TB
8 SSD TRUE OK Healthy Auto-Select 6.82 TB
9 SSD TRUE OK Healthy Auto-Select 6.82 TB
所以看起来排序是按照文本顺序而不是数字顺序。我如何将其作为数字进行排序?
1条答案
按热度按时间6bc51xsx1#
.DeviceId
是一个字符串属性,因此您需要使用计算表达式强制转换[int]
以正确排序它们: