about_Providers
適用対象: Windows PowerShell 2.0, Windows PowerShell 3.0
トピック
about_Providers
概要
コマンド ラインで簡単にアクセスできないデータおよびコンポーネントへのアクセスを Windows PowerShell プロバイダーで提供する方法について説明します。データは、ファイル システム ドライブのような一貫性のある形式で表示されます。
詳細説明
Windows PowerShell プロバイダーは .NET Framework ベースのプログラムで、特殊なデータ ストアのデータを Windows PowerShell で使用できるようにして、ユーザーがデータを表示および管理できるようにします。
プロバイダーが公開するデータはドライブに表示され、ユーザーは、ハード ディスク ドライブの場合と同じようにパス内のデータにアクセスします。プロバイダーがサポートする組み込みコマンドレットを使用して、プロバイダー ドライブのデータを管理できます。また、そのデータ専用に設計されたカスタムのコマンドレットも使用できます。
プロバイダーでは、組み込みコマンドレットに動的パラメーターを追加することもできます。これらは、コマンドレットをプロバイダー データと共に使用する場合にのみ、使用できるパラメーターです。
組み込みプロバイダー
Windows PowerShell には、さまざまな種類のデータ ストアにアクセスするために使用できる、組み込みプロバイダーのセットが含まれています。
Provider Drive Data store
-------- ----- ----------
Alias Alias: Windows PowerShell aliases
Certificate Cert: x509 certificates for digital signatures
Environment Env: Windows environment variables
FileSystem * File system drives, directories, and files
Function Function: Windows PowerShell functions
Registry HKLM:, HKCU: Windows registry
Variable Variable: Windows PowerShell variables
WSMan WSMan: WS-Management configuration information
* FileSystem のドライブはシステムごとに異なります。
独自の Windows PowerShell プロバイダーを作成することも、他のユーザーが開発したプロバイダーをインストールすることもできます。セッションで使用できるプロバイダーを表示するには、次のように入力します。
get-psprovider
プロバイダーのインストールおよび削除
Windows PowerShell プロバイダーは、Windows PowerShell スナップインでユーザーに配信されます。これは、.NET Framework ベースのプログラムで、.dll ファイルにコンパイルされます。スナップインには、プロバイダーとコマンドレットを含めることができます。
プロバイダーの機能を使用する前に、スナップインをインストールして、Windows PowerShell セッションに追加する必要があります。詳細については、「about_PSSnapins」を参照してください。
プロバイダーのアンインストールはできませんが、現在のセッションからプロバイダーの Windows PowerShell スナップインを削除することはできます。この場合、そのコマンドレットを含むスナップインのすべての内容が削除されます。
Remove-PSDrive コマンドレットを使用して、現在のセッションからドライブを削除することもできます。このドライブ上のデータには影響しませんが、ドライブはそのセッションで使用できなくなります。
プロバイダーの表示
コンピューター上の Windows PowerShell プロバイダーを表示するには、次のように入力します。
get-psprovider
出力には、組み込みプロバイダーおよびセッションに追加したプロバイダーが一覧表示されます。
プロバイダー コマンドレット
次のコマンドレットは、プロバイダーが公開するデータを使用するように設計されています。同じコマンドレットを同じ方法で使用して、プロバイダーが公開するさまざまな種類のデータを管理できます。1 つのプロバイダーのデータ管理を習得すれば、後はどのプロバイダーのデータでも同じ手順を使用できます。
たとえば、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