PowerShell对象计数

时间:2013-05-08 17:14:08

标签: powershell powercli

我正在使用VMware PowerCLI来查询具有一定数量空闲空间的数据存储。查询可以返回任何内容,只有一个或多个。我觉得必须有一种更简单的方法来检查它是否是一个或多个。

$ds = get-datastore | where {$_.FreeSapceGB -gt 50} | Sort-Object FreeSpaceGB -descending

我知道要检查我是否得到了这个

的结果
if ($ds)

我知道这会检查是否有多个

if ($ds.Count)

如果有多个,我想使用最自由空间的那个,所以我使用第一个

$ds[0]

但如果只有一个,$ ds [0]不起作用,我只需使用$ ds,这会导致重复编码过多。

我知道我可以用

来限制我的结果
| Select -first 1

但不限制结果有更简单的方法吗?

1 个答案:

答案 0 :(得分:1)

这应该这样做:

$ds = @(get-datastore | where {$_.FreeSapceGB -gt 50} | Sort-Object FreeSpaceGB -descending)

然后,只要$ ds.Count大于0,你就应该总是能够使用$ ds [0]。