通过 powershell 获取磁盘数
Get disks count via powershell
当我试图计算有多少驱动程序连接到工作站时,我有一个奇怪的行为。
PS C:\WINDOWS> get-disk | select number, size
number size
------ ----
0 512110190592
1 1000204886016
PS C:\WINDOWS> (get-disk | select number, size).count
2
到目前为止,还不错。现在,我要把它过滤到 select 我最小的驱动器
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
我的计数在哪里?不应该是 return 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
脑子里一片混乱!
有谁知道那里会出什么问题吗?
这对我有用:
(get-disk | Where-Object { $_.Size -lt 600GB }).Number.Count
这个:
(get-disk | Where-Object { $_.Size -lt 600GB })
属于CimInstance
类型,显然不支持Count
当我试图计算有多少驱动程序连接到工作站时,我有一个奇怪的行为。
PS C:\WINDOWS> get-disk | select number, size
number size
------ ----
0 512110190592
1 1000204886016
PS C:\WINDOWS> (get-disk | select number, size).count
2
到目前为止,还不错。现在,我要把它过滤到 select 我最小的驱动器
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
我的计数在哪里?不应该是 return 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
脑子里一片混乱!
有谁知道那里会出什么问题吗?
这对我有用:
(get-disk | Where-Object { $_.Size -lt 600GB }).Number.Count
这个:
(get-disk | Where-Object { $_.Size -lt 600GB })
属于CimInstance
类型,显然不支持Count