about_Providers
トピック
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