を使用してCOM +アプリケーションから、一度にすべての成分を除去するための構文を持っていますコードが動作しているように見えますが、それは唯一のコンポーネントの半分を削除し、$index
ループの残りのため、このエラーが返されます。誰もが、私はこれは私のPowerShellのコードであるをループしようとして問題を持って、私のCOM +アプリケーションから</p> <p>を91個のコンポーネントを削除していますPowerShellの
Value does not fall within the expected range.
At line:4 char:5
+ $compColl.Remove($index)
+ ~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : OperationStopped: (:) [], ArgumentException
+ FullyQualifiedErrorId : System.ArgumentException
S私はそれを実行し続け、コンポーネントの数は半減し続けます。
私は、配列/コレクションは、残りのインデックスを再ソートし、毎回移動することを「削除」していると思います。だから、$index
が範囲外になる前に、私は半分しかかかりません。私がこれをやっていることがわかるのは唯一のことです。したがって、別のアプローチを試みました。
while($compColl.Count > 0) {
$compColl.Remove($compColl.Count)
}
しかし、それはどちらも機能しません。
誰も一度にすべてのコンポーネントを削除する方法を知っていますか?それはあなたのコレクションのインデックスのように聞こえる
第2のものは魅力的に働いた。最初はおそらく動作しますが、あなたの助言を得ることに決めました。そして、はい、私はインデックスが減少しているので私のバージョンが機能していなかった理由に同意します。 – JustJohn