コマンドレットは、コマンドレットの入力処理メソッド内から他のコマンドレットとスクリプトを呼び出すことができます。 これにより、コードを書き換える必要なく、既存のコマンドレットとスクリプトの機能をコマンドレットに追加できます。
Invoke メソッド
すべてのコマンドレットは、コマンドレットによってオーバーライドされる入力処理メソッド(System.Management.Automation.Cmdlet.BeginProcessingなど) 内からSystem.Management.Automation.Cmdlet.Invokeメソッドを呼び出すことによって、既存のコマンドレットを呼び出すことができます。 ただし 、System.Management.Automation.Cmdlet クラスから直接派生したコマンドレットのみを呼び出すことができます。 System.Management.Automation.PSCmdletクラスから派生するコマンドレットを呼び出す必要があります。
System.Management.Automation.Cmdlet.Invoke*メソッドには、次のバリアントがあります。
System.Management.Automation.Cmdlet.Invoke このバリアントは、コマンドレット オブジェクトを呼び出し、"T" 型オブジェクトのコレクションを返します。
System.Management.Automation.Cmdlet.Invoke このバリアントは、コマンドレット オブジェクトを呼び出し、型指定されたエメレーターを返します。 このバリアントを使用すると、ユーザーはコレクション内の オブジェクトを使用してカスタム操作を実行できます。
例
| 例 | 説明 |
|---|---|
| コマンドレット内でのコマンドレットの呼び出し | この例では、別のコマンドレット内からコマンドレットを呼び出す方法を示します。 |
| コマンドレット内でのスクリプトの呼び出し | この例では、別のコマンドレット内からコマンドレットに提供されるスクリプトを呼び出す方法を示します。 |
参照
Writing a Windows PowerShell Cmdlet (Windows PowerShell コマンドレットの記述)