カスタムPowerShellプロバイダーを実装しています。現在、remove-item コマンドレットの実装に取り組んでいます。
RemoveItem メソッドには次のシグネチャがあります。
protected override void RemoveItem(string path, bool recurse)
入力するとRemove-Item .\Myobject -recurse
、PowerShell インフラストラクチャによって、RemoveItem メソッドtrue
のパラメーターの値が提供されます。recurse
ただし、次のように入力すると、Remove-Item .\MyObject' という質問が表示されます。
MyObject の項目には子があり、Recurse パラメーターが指定されていません。続行すると、すべての子がアイテムとともに削除されます。続行してもよろしいですか?[Y] はい [A] すべてはい [N] いいえ [L] すべていいえ [S] 一時停止 [?] ヘルプ (デフォルトは「Y」):
この質問は、PowerShell インフラストラクチャによって提示されると思います。削除したいオブジェクトはコンテナなので、これで問題ありません。上記の質問に「はい」と答えた場合、PowerShell インフラストラクチャは再帰パラメーターを設定しません。RemoveItem
実際、私のメソッドが呼び出されたときは falseです。質問に「はい」と答えたので、パラメーターが true であることを除きます。
私の質問は次のとおりです。
PowerShell が bool recurse パラメーターを正しい値に設定しないのはなぜですか?
他の方法で値 (質問への回答) を取得する必要がありますか? どのように?
上記が不可能な場合、質問を抑制する方法はありますか?