実行空間のサンプル

このセクションには、さまざまな種類の実行空間を使用してコマンドを同期的および非同期的に実行する方法を示すサンプル コードが含まれています。 Microsoft Visual Studio を使用してコンソール アプリケーションを作成し、このセクションのトピックのコードをホスト アプリケーションにコピーできます。

このセクションの内容

カスタム ホスト インターフェイスを作成するホスト アプリケーションのサンプルについては、「カスタム ホスト サンプル」を参照してください。

Runspace01 サンプル このサンプルでは、System.Management.Automation.PowerShell クラスを使用して、Get-Process コマンドレットを同期的に実行し、その出力をコンソール ウィンドウに表示する方法を示します。

Runspace02 サンプル このサンプルでは、System.Management.Automation.PowerShell クラスを使用して、Get-Process を実行し、Sort-Object コマンドレットを同期的に する方法を示します。 これらのコマンドの結果は、System.Windows.Forms.DataGridView コントロールを使用して表示されます。

Runspace03 サンプル このサンプルでは、System.Management.Automation.PowerShell クラスを使用してスクリプトを同期的に実行する方法と、終了しないエラーを処理する方法を示します。 スクリプトはプロセス名の一覧を受け取り、それらのプロセスを取得します。 スクリプトの実行時に生成された終了しないエラーを含むスクリプトの結果は、コンソール ウィンドウに表示されます。

Runspace04 サンプル このサンプルでは、System.Management.Automation.PowerShell クラスを使用してコマンドを実行する方法と、コマンドの実行時にスローされる終了エラーをキャッチする方法を示します。 2 つのコマンドが実行され、最後のコマンドには無効なパラメーター引数が渡されます。 その結果、オブジェクトは返されず、終了エラーがスローされます。

Runspace05 サンプル このサンプルでは、System.Management.Automation.Runspaces.InitialSessionState オブジェクトにスナップインを追加して、実行空間を開いたときにスナップインのコマンドレットを使用できるようにする方法を示します。 スナップインには、System.Management.Automation.PowerShell オブジェクトを使用して同期的に実行される Get-Proc コマンドレット (GetProcessSample01 サンプルで定義) が用意されています。

Runspace06 サンプル このサンプルでは、System.Management.Automation.Runspaces.InitialSessionState オブジェクトにモジュールを追加して、実行空間を開いたときにモジュールを読み込む方法を示します。 このモジュールには、System.Management.Automation.PowerShell オブジェクトを使用して同期的に実行される Get-Proc コマンドレット (GetProcessSample02 サンプルで定義) が用意されています。

Runspace07 サンプル このサンプルでは、実行空間を作成し、その実行空間を使用して、System.Management.Automation.PowerShell オブジェクトを使用して 2 つのコマンドレットを同期的に実行する方法を示します。

Runspace08 サンプル このサンプルでは、System.Management.Automation.PowerShell オブジェクトのパイプラインにコマンドと引数を追加する方法と、コマンドを同期的に実行する方法を示します。

Runspace09 サンプル このサンプルでは、System.Management.Automation.PowerShell オブジェクトのパイプラインにスクリプトを追加する方法と、スクリプトを非同期で実行する方法を示します。 イベントは、スクリプトの出力を処理するために使用されます。

Runspace10 サンプル このサンプルでは、既定の初期セッション状態を作成する方法、System.Management.Automation.Runspaces.InitialSessionStateにコマンドレットを追加する方法、初期セッション状態を使用する実行空間を作成する方法、および System.Management.Automation.PowerShell オブジェクトを使用してコマンドを実行する方法を示します。

Runspace11 サンプル これは、System.Management.Automation.ProxyCommand クラスを使用して、既存のコマンドレットを呼び出すが、使用可能なパラメーターのセットを制限するプロキシ コマンドを作成する方法を示しています。 その後、プロキシ コマンドは、制約付き実行空間の作成に使用される初期セッション状態に追加されます。 これは、ユーザーがプロキシ コマンドを使用してのみコマンドレットの機能にアクセスできることを意味します。

こちらもご覧ください