Windows PowerShellプログラマー'ガイド

このプログラマー ガイドは、システム管理者向けのコマンド ライン管理環境の提供に関心がある開発者を対象としています。 Windows PowerShell.NET オブジェクトを公開する管理コマンドを簡単に作成できる一方で、Windows PowerShellほとんどの作業を実行できます。

従来のコマンド開発では、各コマンドによって公開されるパラメーター パーサー、パラメーター バインダー、フィルター、その他すべての機能を記述する必要があります。 Windows PowerShellコマンドを簡単に記述するために、次の機能が提供されています。

  • 独自のパーサー Windows PowerShell、コマンド パラメーターを自動的にバインドするためのメカニズムを備える強力なランタイム (実行エンジン)。

  • コマンド ライン インタープリター (CLI) を使用してコマンド結果を書式設定および表示するためのユーティリティ。

  • 格納されたデータに簡単にアクセスできる (Windows PowerShell プロバイダーを介した) 高レベルの機能のサポート。

    .NET オブジェクトは、管理者に完全なコマンド ライン エクスペリエンスを提供する豊富なコマンドまたは一連のコマンドによって、少しのコストで表現できます。

    次のセクションでは、主要な概Windows PowerShell用語について説明します。 開発を開始する前に、これらの概念と用語をよく理解してください。

Windows PowerShell について

Windows PowerShell開発で使用できるいくつかの種類のコマンドを定義します。 これらのコマンドには、関数、フィルター、スクリプト、エイリアス、実行可能ファイル (アプリケーション) が含まれます。 このガイドで説明する主なコマンドの種類は、"コマンドレット" と呼ばれる単純な小さなコマンドです。 Windows PowerShellコマンドレットのセットを提供し、環境に合わせてコマンドレットのカスタマイズを完全にサポートします。 このWindows PowerShellは、パイプラインを使用して、コマンドレットと同様に、すべてのコマンドの種類を処理します。

コマンドに加えて、Windows PowerShellは、使用可能な特定のコマンドレット セットWindows PowerShellさまざまなカスタマイズ可能なサービス プロバイダーをサポートします。 シェルは、Windows PowerShell 提供のホスト アプリケーション (Windows PowerShell.exe) 内で動作しますが、特定の要件を満たすために開発できるカスタム ホスト アプリケーションから同様にアクセスできます。 詳細については、「 How Windows PowerShell Works 」を参照してください

Windows PowerShell コマンドレット

コマンドレットは、環境内で使用される軽量Windows PowerShellです。 Windows PowerShell ランタイムは、コマンド ラインで提供される自動化スクリプトのコンテキスト内でこれらのコマンドレットを呼び出し、Windows PowerShell ランタイムは、Windows PowerShell API を介してプログラムで呼び出します。

コマンドレットの詳細については、「 Writing a Windows PowerShell Cmdlet 」を参照してください

Windows PowerShellプロバイダー

管理タスクを実行する場合、ユーザーはデータ ストアに格納されているデータ (ファイル システム、Windows レジストリ、証明書ストアなど) を調べる必要がある場合があります。 これらの操作を簡単にするために、Windows PowerShell では、Windows PowerShell プロバイダーと呼ばれるモジュールを定義します。このモジュールを使用して、Windows Registry などの特定のデータ ストアにアクセスできます。 各プロバイダーは、ストア内のデータの対称ビューをユーザーに提供する一連の関連コマンドレットをサポートしています。

Windows PowerShell、複数の既定のWindows PowerShellプロバイダーが提供されます。 たとえば、レジストリ プロバイダーは、レジストリのナビゲーションと操作Windowsします。 レジストリ キーは項目として表され、レジストリ値はプロパティとして扱います。

ユーザーがアクセスする必要があるデータ ストアを公開する場合は、「Windows PowerShell Providers の作成」で説明するように、独自の Windows PowerShell プロバイダーを記述する必要がある場合があります。 Windows PowerShell プロバイダーの詳細については、「 How Windows PowerShell Works 」を参照してください

[ホスト アプリケーション]

Windows PowerShellには、既定のホスト アプリケーション powershell.exe が含まれています。これは、ユーザーと対話し、コンソール ウィンドウを使用して Windows PowerShell ランタイムをホストするコンソール アプリケーションです。

カスタマイズがサポートされている場合でも、アプリケーション用に独自のホスト アプリケーションを作成Windows PowerShell必要になることはほとんどありません。 独自のアプリケーションが必要になるケースの 1 つは、既定のホスト アプリケーションによって提供されるインターフェイスよりも豊富な GUI インターフェイスの要件がある場合です。 コマンド ラインで GUI を使用する場合は、カスタム アプリケーションが必要な場合があります。 詳細については、「 How to Create a Windows PowerShell Host Application 」を参照してください

Windows PowerShellランタイム

ランタイムWindows PowerShellは、コマンド処理を実装する実行エンジンです。 これには、ホスト アプリケーションとホスト コマンドとプロバイダーの間のインターフェイスをWindows PowerShellクラスが含まれます。 ランタイムWindows PowerShell、現在の Windows PowerShell セッションの実行空間オブジェクトとして実装されます。これは、シェルとコマンドが実行される操作環境です。 操作の詳細については、「 How Windows PowerShell Works 」を参照してください

Windows PowerShell言語

このWindows PowerShellには、コマンドを呼び出すスクリプト関数とメカニズムが備えています。 スクリプトの完全な情報については、「Windows PowerShell言語リファレンス」を参照Windows PowerShell。

拡張型システム (ETS)

Windows PowerShell.NET オブジェクトや XML オブジェクトなど、さまざまなオブジェクトにアクセスできます。 その結果、すべてのオブジェクト型に共通の抽象化を提示するために、シェルは拡張型システム (ETS) を使用します。 ほとんどの ETS 機能はユーザーに対して透過的ですが、スクリプトまたは .NET 開発者は次の目的で使用します。

  • 特定のオブジェクトのメンバーのサブセットの表示。 Windows PowerShell、いくつかの特定のオブジェクトの種類の "適応された" ビューが提供されます。

  • 既存の オブジェクトへのメンバーの追加。

  • シリアル化されたオブジェクトへのアクセス。

  • カスタマイズされたオブジェクトの書き込み。

    ETS を使用すると、新しい言語と互換性のある柔軟な新しいWindows PowerShellできます。 .NET 開発者は、Windows PowerShell 言語がスクリプトに適用されるのと同じセマンティクスを使用してオブジェクトを操作して、オブジェクトが に評価されるかどうかを判断できます true

    ETS の詳細と、オブジェクトを使用する方法Windows PowerShellオブジェクトの概念に関するWindows PowerShell参照してください

アプリケーションのWindows PowerShell

Windows PowerShellを使用して、コマンド、プロバイダー、その他のプログラム モジュールのコードを定義.NET Framework。 このガイドで提供されているサンプルは、このツールで実行することが知られていますが、Windows PowerShell 用にカスタマイズされたモジュールを作成する際に Microsoft Visual Studio を使用する場合に限定されません。 クラスの継承と属性の使用をサポートする任意の .NET 言語を使用できます。 一部の API Windows PowerShellジェネリック型にアクセスするには、プログラミング言語が必要です。

プログラマー リファレンス

アプリケーション用に開発する場合のWindows PowerShellについては、SDK のWindows PowerShell参照してください

はじめにの使用Windows PowerShell

Windows PowerShell シェルの使用を開始する方法の詳細については、はじめににWindows PowerShellを参照Windows PowerShell。 クイック リファレンスの 3 つ折りたたみドキュメントも、コマンドレットの使用の入門として提供されます。

このガイドの内容

トピック 定義
Windows PowerShell プロバイダーを作成する方法 このセクションでは、アプリケーション用のアプリケーション プロバイダーをWindows PowerShellする方法についてWindows PowerShell。
ホスト アプリケーションを作成Windows PowerShell方法 このセクションでは、実行空間を操作するホスト アプリケーションを作成する方法と、独自のカスタム ホストを実装するホスト アプリケーションを作成する方法について説明します。
Windows PowerShell スナップインを作成する方法 このセクションでは、すべてのコマンドレットとプロバイダーをアセンブリに登録するために使用されるスナップインを作成する方法と、カスタム スナップインを作成する方法について説明します。
コンソール シェルを作成する方法 このセクションでは、拡張可能ではないコンソール シェルを作成する方法について説明します。
Windows PowerShell の概念 このセクションには、開発者の観点から理解するのに役立Windows PowerShell概念情報が含まれている。

参照

Windows PowerShell SDK