0

VMware PowerCLI を使用して、一定量の空き領域があるデータストアをクエリしています。クエリは、何も返されないか、1 つだけ、または複数返される可能性があります。それが1つか複数かを確認する簡単な方法が必要だと思います。

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

これで結果が得られるかどうかを確認することを知っています

if ($ds)

私はこれが複数あるかどうかをチェックすることを知っています

if ($ds.Count)

複数ある場合は空き容量の多いものを使いたいので最初のものを使用します

$ds[0]

しかし、1 つしかない場合、$ds[0] は機能せず、$ds だけを使用する必要があり、コードの重複が多すぎます。

私は自分の結果を制限できることを知っています

| Select -first 1

しかし、結果を制限することなく、これを行う簡単な方法はありますか?

4

1 に答える 1

1

これはそれを行う必要があります:

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

$ds.Count が 0 より大きい限り、常に $ds[0] を使用できるはずです。

于 2013-05-08T17:21:20.113 に答える