トピック about_Providers 簡易説明 コマンド ラインでは容易にアクセスできないデータとコンポーネントに、Windows PowerShell プロ バイダーでアクセスする方法について説明します。データは、ファイル システム ドライブのように 一貫性のある形式で表示されます。 詳細説明 Windows PowerShell プロバイダーは、特殊なデータ ストアのデータを Windows PowerShell で利用できるようにし、それらのデータの表示と管理を可能にするための、Microsoft .NET Framework ベースのプログラムです。 プロバイダーが公開するデータはドライブに表示されます。このデータには、ハード ディスク ドラ イブ上のデータにアクセスする場合と同じように、パスを使用してアクセスします。プロバイダーがサポー トする組み込みコマンドレットを使用して、プロバイダーのドライブにあるデータを管理できます。また、 このデータ用に特別に設計されたカスタム コマンドレットも使用できます。 プロバイダーは、組み込みコマンドレットに動的パラメーターを追加することもできます。これらの パラメーターは、コマンドレットをプロバイダー データと共に使用する場合にのみ利用できます。 組み込みプロバイダー Windows PowerShell には、さまざまなデータ ストアへのアクセスに使用できる、 組み込みプロバイダーのセットが用意されています。 プロバイダー ドライブ データ ストア ------------ ------------- ------------------------------------------- Alias Alias: Windows PowerShell エイリアス Certificate Cert: デジタル署名用の X509 証明書 Environment Env: Windows 環境変数 FileSystem * ファイル システムのドライブ、ディレクトリ、 およびファイル Function Function: Windows PowerShell の関数 Registry HKLM:、HKCU: Windows レジストリ Variable Variable: Windows PowerShell の変数 WS-Management WSMan: WS-Management 構成情報 * FileSystem のドライブはシステムによって異なります。 また、独自の Windows PowerShell プロバイダーを作成したり、他のユーザーが開発したプロバイダーをインストールした りすることもできます。セッションで使用可能なプロバイダーの一覧を表示するには、次のように入力します。 get-psprovider プロバイダーのインストールと削除 Windows PowerShell プロバイダーは、Windows PowerShell スナップインで使用できます。 Windows PowerShell スナップインは、.dll ファイルにコンパイルされた .NET Framework ベ ースのプログラムです。スナップインには、プロバイダーとコマンドレットを含めることができます。 プロバイダーの機能を使用するには、まず、スナップインをインストールし、Windows PowerShell セッションに追加する必要があります。詳細については、「about_PsSnapins」を参照してください。 プロバイダーはアンインストールできませんが、現在のセッションから、該当するプロバイダーの Windows PowerShell スナップインを削除することはできます。この操作を行うと、コマンドレットを含めて、スナップインのすべての内 容が削除されます。 現在のセッションからプロバイダーを削除するには、Remove-PsSnapin コマンドレットを使用します。このコマンド レットを使用してもプロバイダーはアンインストールされませんが、対象のプロバイダーをセッション で利用できなくなります。 また、Remove-PsDrive コマンドレットを使用することで、現在のセッションからドライブを削除することもできます。 ドライブ上のデータは影響を受けませんが、対象のドライブをそのセッションで利用できなくなります。 プロバイダーの表示 コンピューター上の Windows PowerShell プロバイダーを表示するには、次のように入力します。 get-psprovider 出力には、組み込みプロバイダーと、セッションに追加したプロバイダーの一覧が表示されます。 プロバイダー コマンドレット 次のコマンドレットは、プロバイダーによって公開されているデータを使用するように設計されています。 同じコマンドレットを同じ方法で使用して、プロバイダーが公開するさまざまなデータを管理できます。 いずれかのプロバイダーのデータを管理できるようになれば、それと同じ手順であらゆるプロバイダーの データを管理できます。 たとえば、New-Item コマンドレットは、新しい項目を作成します。FileSystem プロバイダーに よってサポートされている C: ドライブでは、New-Item を使用して、新しいファイルまたはフォル ダーを作成できます。Registry プロバイダーによってサポートされているドライブでは、New- Item を使用して、新しいレジストリ キーを作成できます。Alias: ドライブでは、New-Item を 使用して、新しいエイリアスを作成できます。 次のいずれかのコマンドレットの詳細を確認するには、次のように入力してください。 get-help <cmdlet-name> -detailed ChildItem コマンドレット Get-ChildItem Content コマンドレット Add-Content Clear-Content Get-Content Set-Content Item コマンドレット Clear-Item Copy-Item Get-Item Invoke-Item Move-Item New-Item Remove-Item Rename-Item Set-Item ItemProperty コマンドレット Clear-ItemProperty Copy-ItemProperty Get-ItemProperty Move-ItemProperty New-ItemProperty Remove-ItemProperty Rename-ItemProperty Set-ItemProperty Location コマンドレット Get-Location Pop-Location Push-Location Set-Location Path コマンドレット Join-Path Convert-Path Split-Path Resolve-Path Test-Path PSDrive コマンドレット Get-PSDrive New-PSDrive Remove-PSDrive PSProvider コマンドレット Get-PSProvider プロバイダー データの表示 プロバイダーの主な利点は、一貫性のある使い慣れた方法でデータを公開できることにあります。 データ表示方法は、ファイル システム ドライブをモデルにしています。 プロバイダーが公開するデータを使用するには、ハード ドライブ上のデータと同様に、表示、移動、 および変更を行います。したがって、プロバイダーに関する情報で最も重要なものは、プロバイダーがサポート するドライブ名になります。 ドライブは、Get-PsProvider コマンドレットの既定の表示で確認できますが、Get-PsDrive コマンドレットを使 用してプロバイダー ドライブについての情報を得ることができます。たとえば、Function: ドライブのすべての プロパティを取得するには、次のように入力します。 get-psdrive Function | format-list * ファイル システム ドライブ上のデータと同様に、プロバイダー ドライブ内のデータを参照したり、 それらのデータ間を移動したりできます。 プロバイダー ドライブの内容を表示するには、Get-Item または Get-ChildItem コマンドレットを使用します。 ドライブ名を入力し、続いてコロン (:) を入力します。たとえば Alias: ドライブの内容を表示するには、 次のように入力します。 get-item alias: パスにドライブ名を含めると、あるドライブ内のデータを、別のドライブから参照し、管理すること ができます。たとえば、HKLM: ドライブの HKLM\Software レジストリ キーを別のドライブから参照するには、 次のように入力します。 get-childitem hklm:\software ドライブを開くには、Set-Location コマンドレットを使用します。ドライブ パスを指定する際には、 コロンを忘れずに入力してください。たとえば、現在の場所を Cert: ドライブのルート ディレクトリに 変更するには、次のように入力します。 set-location cert: 次に Cert: ドライブの内容を表示するため、次のように入力します。 get-childitem 階層データ内の移動 ハード ディスク ドライブと同様に、プロバイダー ドライブ内を移動することができます。データが項目 の階層上に配置されているときは、バックスラッシュ (\) を使用して子項目であることを示します。 次の形式を使用してください。 drive:\location\child-location\... たとえば、現在の場所を HKLM\Software レジストリ キーに変更するには、次のように Set-Location コマンドを入 力します。 set-location hklm:\software 目的の場所への相対参照を使用することも可能です。現在の場所を表すには、ドット (.) を使用します。たとえば、現在の場所が HKLM:\Software\Microsoft レジストリ キーである場合に、 HKLM:\Software\Microsoft\PowerShell キーのレジストリ サブキーの一覧を表示するには、次のコマンドを入力します。 get-childitem .\powershell 動的パラメーターの検索 動的パラメーターは、プロバイダーによってコマンドレットに追加されるコマンドレット パラメータ ーです。これらのパラメーターは、そのパラメーターを追加したプロバイダーと共にコマンドレットを 使用する場合にのみ利用できます。 たとえば、Cert: ドライブは、CodeSigningCert パラメーターを Get-Item コマンドレットと Get-ChildItem コマンドレットに追加します。このパラメーターを使用できるのは、Cert: ドラ イブで Get-Item または Get-ChildItem を使用しているときだけです。 プロバイダーがサポートする動的パラメーターの一覧については、対象プロバイダーのヘルプ ファイ ルを参照してください。ヘルプ ファイルを表示するには、次の形式で入力します。 get-help <provider-name> たとえば、次のように入力します。 get-help certificate プロバイダーについてのその他の情報 すべてのプロバイダー データはドライブに表示され、ドライブの場合と同じ方法でデータ間を移動できますが、類似点は それしかありません。プロバイダーが公開するデータ ストアは、実際には Active Directory に存在したり、Microsoft Exchange Server メールボックスに存在したりするなど、さまざまです。 Windows PowerShell の各プロバイダーの情報を表示するには、次の形式で入力します。 get-help <ProviderName> たとえば、次のように入力します。 get-help registry プロバイダーのヘルプ トピックの一覧を表示するには、次のように入力します。 get-help * -category provider 関連項目 about_Locations about_Path_Syntax