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