PowerShell用のNavigationCmdletProviderを作成しています。GetItemおよびGetChildItemsオーバーライドを介して、パイプラインに書き込まれるさまざまなタイプのオブジェクトがあります。
IPropertyCmdletProviderインターフェイスのドキュメントには、次のように記載されています。
開発者は、次の条件下でこのインターフェイスを実装する必要があります。
- ユーザーがGet-PropertyコマンドレットやSet-Propertyコマンドレットなどのコマンドレットを使用する必要がある場合。
- ItemCmdletProvider、ContainerCmdletProvider、またはNavigationCmdletProviderクラスから派生するプロバイダーの場合。
錯乱:
Get-PropertyコマンドレットとSet-Propertyコマンドレットを使用する必要があるかどうかをユーザーがどのように知るのでしょうか。それはCmdletの作者次第だと思います。(少なくとも私にとって)大きな混乱は、Cmdletがオブジェクトをパイプラインに書き込むかどうかです。そして、それらのオブジェクトには、呼び出し可能な(つまり、get / set)プロパティが公開されています。Get-Property / Set-Propertyを呼び出すと、オブジェクトを直接操作するよりもどのような利点がありますか?
質問:
どのような状況でIPropertyCmdletProviderインターフェイスを実装する必要がありますか?
私はここで何かが欠けていることを知っています!任意の洞察をいただければ幸いです。