コマンドレット属性の宣言
コマンドレット属性は、Microsoft .NET Frameworkクラスをコマンドレットとして識別し、コマンドレットの呼び出しに使用される動詞と名詞を指定します。
構文
[Cmdlet("verbName", "nounName")]
[Cmdlet("verbName", "nounName", Named Parameters...)]
パラメーター
VerbName
(System.String) 必須。 コマンドレット動詞を指定します。 この動詞は、 コマンドレットによって実行されるアクションを指定します。 承認されたコマンドレット動詞の詳細については、「コマンドレット動詞名」および「必要な開発ガイドライン」を参照してください。
NounName
(System.String) 必須。 コマンドレットの名詞を指定します。 この名詞は、コマンドレットが動作するリソースを指定します。 コマンドレット名詞の詳細については、「 コマンドレット宣言」 および「強く推奨される開発ガイドライン 」を参照してください。
SupportsShouldProcess
(System.Boolean) 省略可能な名前付きパラメーター。 True
は、 コマンドレットが System.Management.Automation.Cmdlet.ShouldProcess メソッドの呼び出しをサポートし、システムを変更するアクションが実行される前にユーザーにプロンプトを表示する方法をコマンドレットに提供します。 False
の既定値は、コマンドレットが System.Management.Automation.Cmdlet.ShouldProcess メソッドの呼び出しをサポートしていない場合を示します。 確認要求の詳細については、「確認の要求 」を参照してください。
ConfirmImpact
(System.Management.Automation.Confirmimpact) 省略可能な名前付きパラメーター。 System.Management.Automation.Cmdlet.ShouldProcessメソッドの呼び出しによってコマンドレットのアクションを確認する必要がある場合を指定します。 System.Management.Automation.Cmdlet.ShouldProcess は、コマンドレットの ConfirmImpact 値 (既定では Medium) が変数の値以上の場合にのみ呼び出 $ConfirmPreference
されます。 このパラメーターは、 パラメーターが指定されている場合 SupportsShouldProcess
にのみ指定する必要があります。
DefaultParameterSetName
(System.String) 省略可能な名前付きパラメーター。 使用するパラメーター セットを決定できない場合Windows PowerShellランタイムが使用を試みる既定のパラメーター セットを指定します。 この状況を排除するには、各パラメーターの一意のパラメーターを必須パラメーターに設定します。
既定のパラメーター セット名がWindows PowerShell場合でも、既定のパラメーター セットを使用できない場合があります。 ランタイムWindows PowerShellオブジェクト型のみに基づいてパラメーター セットを区別することはできません。 たとえば、ファイル パスとして文字列を受け取るパラメーター セットと 、FileInfo オブジェクトを直接受け取る別のセットがある場合、Windows PowerShell は、コマンドレットに渡された値に基づいて使用するパラメーター セットを決定できません。また、既定のパラメーター セットも使用されません。 この場合、既定のパラメーター セット名を指定した場合でも、Windows PowerShellあいまいなパラメーター セット エラー メッセージがスローされます。
SupportsTransactions
(System.Boolean) 省略可能な名前付きパラメーター。 True
は、トランザクション内でコマンドレットを使用できるを示します。 を True
指定すると、Windows PowerShellパラメーターがコマンドレットのパラメーター UseTransaction
リストに追加されます。 False
の既定値は、トランザクション内でコマンドレットを使用できないことを示します。
注釈
動詞と名詞を組み合わせて使用して、登録済みのコマンドレットを識別し、スクリプト内でコマンドレットを呼び出します。
コマンドレットがコンソールから呼び出Windows PowerShellコマンドは次のコマンドのようになります。
VerbName-NounName
- Windows PowerShell の外部でリソースを変更するコマンドレットはすべて、コマンドレット属性が宣言されている場合に キーワードを含める必要があります。これにより、コマンドレットは、コマンドレットがアクションを実行する前に
SupportsShouldProcess
System.Management.Automation.Cmdlet.ShouldProcessメソッドを呼び出すことができます。 System.Management.Automation.Cmdlet.ShouldProcess呼び出しが を返す場合false
、アクションを実行する必要はありません。 System.Management.Automation.Cmdlet.ShouldProcess呼び出しによって生成される確認要求の詳細については、「確認の要求」を参照してください。
および Confirm
コマンドレット WhatIf
パラメーターは 、System.Management.Automation.Cmdlet.ShouldProcess 呼び出しをサポートするコマンドレットでのみ使用できます。
例
次のクラス定義では、 Cmdlet 属性を使用して、ローカル コンピューターで実行されているプロセスに関する情報を取得する Get-Proc コマンドレットの .NET Framework クラスを識別します。
[Cmdlet(VerbsCommon.Get, "Proc")]
public class GetProcCommand : Cmdlet
Get-Proc コマンドレットの詳細については、「GetProc Tutorial 」を参照してください。
参照
Writing a Windows PowerShell Cmdlet (Windows PowerShell コマンドレットの記述)