当我尝试计算连接到工作站的驱动程序数时,我有一种奇怪的行为。
PS C:\WINDOWS> get-disk | select number, size
number size
------ ----
0 512110190592
1 1000204886016
PS C:\WINDOWS> (get-disk | select number, size).count
2
到目前为止,这么好。现在,我要过滤它以选择我最小的驱动器
PS C:\WINDOWS> get-disk | Where-Object { $_.Size -lt 600GB } | select number, size
number size
------ ----
0 512110190592
PS C:\WINDOWS> (get-disk | Where-Object { $_.Size -lt 600GB } | select number, size).count
我的点数在哪里?它不应该返回1吗?它与其他一个集合正常工作:
PS C:\WINDOWS> (get-process).count
196
PS C:\WINDOWS> (get-process powershell_ise ).count
1
我的磁盘对象类型是否存在问题?
PS C:\WINDOWS> Get-Disk |gm
TypeName: Microsoft.Management.Infrastructure.CimInstance#ROOT/Microsoft/Windows/Storage/MSFT_Disk
现在脑子里有很多混乱!
任何人都知道那里会出现什么问题?
答案 0 :(得分:1)
这对我有用:
(get-disk | Where-Object { $_.Size -lt 600GB }).Number.Count
这:
(get-disk | Where-Object { $_.Size -lt 600GB })
是CimInstance
类型,显然它不支持Count