私は定期的に自分の機能やスクリプトに[cmdletbinding()]
を使用しますが、このような難解なものはいつも見つけています。
CmdletBinding属性は がそれらをコンパイルするコマンドレット[cmdletbinding()]とは何ですか実際にはどのように機能しますか?
ように動作するが、我々は我々のスクリプトの上にそれを使用することができます機能の属性であるget-help about_Functions_CmdletBindingAttribute
によると、この関数は何ですかケース?すべての入力に対してpsエンジンによって呼び出される内部暗黙的な「main」関数?今構文について
:私たちは何を
[CmdletBinding(ConfirmImpact=<String>, DefaultParameterSetName=<String>, HelpURI=<URI>, SupportsPaging=<Boolean>, SupportsShouldProcess=<Boolean>, PositionalBinding=<Boolean>)]
をやっていますか? cmdlbindingオブジェクトをインスタンス化し、コンストラクタに引数リストを渡しますか?この構文はparam()で見つけることができます。たとえば、
[Parameter(ValueFromPipeline=$true)]
この構文には特定の名前がありますが、他の場所にはありますか?最後に、単純なpowershellersとして、この機能を模倣し、属性を設定してスクリプトの動作を変更できますか?
私はドキュメントは少しここで誤解を招くされていると思います。このすべては、スクリプトブロックのいずれかのタイプに関係しています:Shayが言及したように - 関数名、パス(スクリプト)で指定されていますが、*名前もありません。 '&{[CmdletBinding()] param()Write-Verbose' Foo '} -Verbose'はチャンピオンのように動作します。 – BartekB
@BartekB質問の最初の部分は大丈夫です。 –