次の方法で共有


about_WSMan_Provider

プロバイダー名

WSMan

ドライブ

WSMan:

簡単な説明

Web Services for Management (WS-Management) 構成情報へのアクセスを提供します。

詳しい説明

PowerShell 用の WSMan プロバイダーを使用すると、ローカル コンピューターまたはリモート コンピューター上の WS-Management 構成データを追加、変更、クリア、および削除できます。

WSMan プロバイダーは、WS-Management 構成設定の論理グループに対応するディレクトリ構造を持つ PowerShell ドライブを公開します。 これらのグループはコンテナーと呼ばれます。

Windows PowerShell 3.0 以降では、 WSMan プロバイダーが更新され、 OutputBufferingMode などのセッション構成の新しいプロパティがサポートされました。 セッション構成は、 WSMan: ドライブの Plugin ディレクトリ内の項目として表示され、プロパティは各セッション構成の項目として表示されます。

WSMan プロバイダーは、この記事で説明する次のコマンドレットをサポートしています。

Note

WSMan: ドライブのコマンドを使用して、新しいプロパティの値を変更できます。 ただし、PowerShell 2.0 の WSMan: ドライブを使用して、Windows PowerShell 3.0 で導入されたプロパティを変更することはできません。 エラーは生成されませんが、コマンドは有効ではありません。これらの設定を変更するには、Windows PowerShell 3.0 の WSMan ドライブを使用します。

WSMan の組織: ドライブ

  • クライアント: WS-Management クライアントのさまざまな側面を構成できます。 構成情報はレジストリに格納されます。

  • サービス: WS-Management サービスのさまざまな側面を構成できます。 構成情報はレジストリに格納されます。

    Note

    サービス構成は、サーバー構成と呼ばれることもあります。

  • シェル: WS-Management シェルのさまざまな側面 (リモート シェル アクセスを許可する設定 (AllowRemoteShellAccess) や許可される同時ユーザーの最大数 (MaxConcurrentUsersなど) を構成できます。

  • リスナー: リスナーを作成して構成できます。 リスナーは、メッセージを送受信するための WS-Management プロトコルを実装する管理サービスです。

  • プラグイン: プラグインは、WS-Management サービスによって読み込まれ、さまざまな機能を提供するために使用されます。 既定では、PowerShell には次の 3 つのプラグインが用意されています。

    • イベント転送プラグイン。
    • Microsoft.PowerShell プラグイン。
    • Windows Management Instrumentation (WMI) プロバイダー プラグイン。 これら 3 つのプラグインは、イベント転送、構成、WMI アクセスをサポートします。
  • ClientCertificate: クライアント証明書を作成して構成できます。 クライアント証明書は、WS-Management クライアントが証明書認証を使用するように構成されている場合に使用されます。

WSMan プロバイダーのディレクトリ階層

ローカル コンピューターの WSMan プロバイダーのディレクトリ階層は次のとおりです。

WSMan:\localhost
--- Client
--- Service
--- Shell
--- Listener
------ <Specific_Listener>
--- Plugin
------ Event Forwarding Plugin
--------- InitializationParameters
--------- Resources
------------ Security
------ Microsoft.Powershell
--------- InitializationParameters
--------- Resources
------------ Security
------ WMI Provider
--------- InitializationParameters
--------- Resources
------------ Security
--- ClientCertificate

リモート コンピューターの WSMan プロバイダーのディレクトリ階層は、ローカル コンピューターと同じです。 ただし、リモート コンピューターの構成設定にアクセスするには、 Connect-WSMan を使用してリモート コンピューターに接続する必要があります。 リモート コンピューターへの接続が確立されると、リモート コンピューターの名前がプロバイダーに表示されます。

WSMan:\<Remote_Computer_Name>

このコマンドは、 Set-Location コマンドレットを使用して、現在の場所を WSMan: ドライブに変更します。

Set-Location WSMan:

ファイル システム ドライブに戻るには、ドライブ名を入力します。 たとえば、次のように入力します。

Set-Location C:

このコマンドでは、 Set-Location コマンドを使用して、現在の場所をリモート システム ストアの場所のルートの場所に変更します。 円記号 \ またはスラッシュ / を使用して、 WSMan: ドライブのレベルを示します。

Set-Location -Path  WSMan:\SERVER01

Note

上記のコマンドは、リモート システムへの接続が既に存在することを前提としています。

WSMan: ドライブの内容の表示

このコマンドは、 Get-Childitem コマンドレットを使用して、Localhost ストアの場所に WS-Management ストアを表示します。

Get-ChildItem -path WSMan:\Localhost

WSMan: ドライブにいる場合は、ドライブ名を省略できます。

このコマンドは、 Get-Childitem コマンドレットを使用して、リモート コンピューターの "SERVER01" ストアの場所に WS-Management ストアを表示します。

Get-ChildItem -path WSMan:\SERVER01

Note

上記のコマンドは、リモート システムへの接続が既に存在することを前提としています。

WSMAN 内の項目の値の設定: ドライブ

Set-Item コマンドレットを使用して、WSMAN ドライブの構成設定を変更できます。 次の例では、サフィックス "contoso.com" を持つすべてのホストを受け入れるように TrustedHosts 値を設定します。

# You do not need to specify the -Path parameter name when using Set-Item.
PS WSMAN:\localhost\Client> Set-Item .\TrustedHosts -Value "*.contoso.com"

Set-Item コマンドレットは、値を変更する代わりに値を追加する追加のパラメーター -Concatenateをサポートしています。 次の例では、格納されている古い値に新しい値 "*.domain2.com" を追加します TrustedHost:

Set-Item WSMAN:\localhost\Client\TrustedHosts *.domain2.com -Concatenate

WSMAN での項目の作成: ドライブ

新しいリスナーの作成

New-Item コマンドレットは、プロバイダー ドライブ内に項目を作成します。 プロバイダーごとに、作成できる項目の種類が異なります。 WSMAN: ドライブでは、リモート要求を受信して応答するように構成する Listeners を作成できます。 次のコマンドは、 New-Item コマンドレットを使用して新しい HTTP リスナーを作成します。

New-Item -Path WSMan:\localhost\Listener -Address * -Transport HTTP -force

新しいプラグインの作成

このコマンドは、WS-Management サービスのプラグインを作成 (登録) します。

New-Item -Path WSMan:\localhost\Plugin `
         -Plugin TestPlugin `
         -FileName %systemroot%\system32\WsmWmiPl.dll `
         -Resource http://schemas.dmtf.org/wbem/wscim/2/cim-schema `
         -SDKVersion 1 `
         -Capability "Get","Put","Invoke","Enumerate" `
         -XMLRenderingType text

新しいリソース エントリの作成

このコマンドは、TestPlugin の Resources ディレクトリにリソース エントリを作成します。 このコマンドは、別のコマンドを使用して TestPlugin が作成されていることを前提としています。

New-Item -Path WSMan:\localhost\Plugin\TestPlugin\Resources `
         -ResourceUri http://schemas.dmtf.org/wbem/wscim/3/cim-schema `
         -Capability "Enumerate"

リソースの新しいセキュリティ エントリの作成

このコマンドは、Resource_5967683の Security ディレクトリ (特定のリソース) にセキュリティ エントリを作成します。 このコマンドは、リソース エントリが別のコマンドを使用して作成されていることを前提としています。

$path = "WSMan:\localhost\Plugin\TestPlugin\Resources\Resource_5967683"
New-Item -Path $path\Security `
         -Sddl "O:NSG:BAD:P(A;;GA;;;BA)S:P(AU;FA;GA;;;WD)(AU;SA;GWGX;;;WD)"

新しいクライアント証明書の作成

このコマンドは、WS-Management クライアントで使用できる ClientCertificate エントリを作成します。 新しい ClientCertificate は、 ClientCertificate ディレクトリの下に "ClientCertificate_1234567890" として表示されます。 すべてのパラメーターは必須です。 Issuerは発行者証明書の拇印である必要があります。

$cred = Get-Credential
New-Item -Path WSMan:\localhost\ClientCertificate `
         -Issuer 1b3fd224d66c6413fe20d21e38b304226d192dfe `
         -URI wmicimv2/* `
         -Credential $cred;

新しい初期化パラメーターの作成

このコマンドは、"InitializationParameters" ディレクトリに "testparametername" という名前の初期化パラメーターを作成します。 このコマンドは、別のコマンドを使用して "TestPlugin" が作成されていることを前提としています。

New-Item -Path WSMan:\localhost\Plugin\TestPlugin\InitializationParameters `
         -ParamName testparametername `
         -ParamValue testparametervalue

動的パラメーター

動的パラメーターは、PowerShell プロバイダーによって追加されるコマンドレット パラメーターであり、プロバイダー対応ドライブでコマンドレットが使用されている場合にのみ使用できます。

Address <String>

このリスナーが作成されたアドレスを指定します。 値は次のいずれかになります。

  • リテラル文字列 "*" (ワイルドカード文字 (*) を指定すると、コマンドはすべてのネットワーク アダプター上のすべての IP アドレスをバインドします)。
  • リテラル文字列 "IP:" の後に、IPv4 ドット 10 進形式または IPv6 クローン 16 進形式の有効な IP アドレスが続きます。
  • リテラル文字列 "MAC:" の後にアダプターの MAC アドレスが続きます。 例: MAC:32-a3-58-90-be-cc。

Note

Address 値は、リスナーの作成時に設定されます。

サポートされているコマンドレット

Capability <Enumeration>

Plug-ins を使用する場合このパラメーターは、この URI (Uniform Resource Identifier) でサポートされる操作を指定します。 URI がサポートする操作の種類ごとに 1 つのエントリを作成する必要があります。 操作でサポートされている場合は、特定の操作に対して有効な属性を指定できます。

これらの属性には、 SupportsFilteringSupportsFragment が含まれます。

  • 作成: 作成操作は URI でサポートされています。
    • 作成操作で概念がサポートされている場合は、 SupportFragment 属性が使用されます。
    • SupportFiltering属性は作成操作では無効であり、"False" に設定する必要があります。

    Note

    シェル操作もサポートされている場合、URI に対してこの操作は無効です。

  • 削除: URI で削除操作がサポートされています。
    • SupportFragment属性は、Delete 操作で概念がサポートされている場合に使用されます。
    • SupportFiltering 属性は削除操作では無効であり、"False" に設定する必要があります。

    Note

    シェル操作もサポートされている場合、URI に対してこの操作は無効です。

  • 列挙: URI で列挙操作がサポートされています。
    • SupportFragment 属性は列挙操作ではサポートされていないため、False に設定する必要があります。
    • SupportFiltering 属性は有効であり、プラグインがフィルター処理をサポートしている場合は、この属性を "True" に設定する必要があります。

    Note

    シェル操作もサポートされている場合、URI に対してこの操作は無効です。

  • Get: 取得操作は URI でサポートされています。
    • get 操作で概念がサポートされている場合は、 SupportFragment 属性が使用されます。
    • SupportFiltering 属性は Get 操作では無効であり、"False" に設定する必要があります。

    Note

    シェル操作もサポートされている場合、URI に対してこの操作は無効です。

  • 呼び出し: 呼び出し操作は URI でサポートされています。
    • SupportFragment 属性は呼び出し操作ではサポートされていないため、False に設定する必要があります。
    • SupportFiltering 属性は無効であり、"False" に設定する必要があります。

    Note

    シェル操作もサポートされている場合、URI に対してこの操作は無効です。

  • Put: PUT 操作は URI でサポートされています。
    • put 操作で概念がサポートされている場合、 SupportFragment 属性が使用されます。
    • SupportFiltering 属性は Put 操作では無効であり、"False" に設定する必要があります。

    Note

    シェル操作もサポートされている場合、URI に対してこの操作は無効です。

  • サブスクライブ: URI でサブスクライブ操作がサポートされています。
    • SupportFragment 属性はサブスクライブ操作ではサポートされていないため、False に設定する必要があります。
    • SupportFiltering 属性はサブスクライブ操作では無効であり、"False" に設定する必要があります。

    Note

    シェル操作もサポートされている場合、URI に対してこの操作は無効です。

  • シェル: URI でシェル操作がサポートされています。
    • SupportFragment 属性はシェル操作ではサポートされていないため、"False" に設定する必要があります。
    • SupportFiltering 属性はシェル操作では無効であり、"False" に設定する必要があります。

    Note

    他の操作もサポートされている場合、URI に対してこの操作は無効です。

    Note

    URI、Get、Put、Create、Delete、Invoke、および Enumerate 操作に対してシェル操作が構成されている場合、シェルを管理するために WS-Management (WinRM) サービス内で内部的に処理されます。 その結果、プラグインは操作を処理できません。

サポートされているコマンドレット

CertificateThumbprint <String>

サービス証明書の拇印を指定します。

この値は、証明書の拇印フィールドの 2 桁の 16 進数の値の文字列を表します。 このアクションを実行するアクセス許可を持つユーザー アカウントのデジタル公開キー証明書 (X509) を指定します。 証明書は、クライアント証明書ベースの認証で使用されます。 これらはローカル ユーザー アカウントにのみマップでき、ドメイン アカウントでは機能しません。 証明書の拇印を取得するには、PowerShell Cert: ドライブのGet-ItemまたはGet-ChildItemコマンドレットを使用します。

サポートされているコマンドレット

Enabled <Boolean>

リスナーが有効であるか、無効であるかを指定します。 既定値は Trueです。

サポートされているコマンドレット

FileName (プラグイン) <String>

操作プラグインのファイル名を指定します。 このエントリに配置されるすべての環境変数は、要求を受信すると、ユーザーのコンテキストで展開されます。 各ユーザーは同じ環境変数の異なるバージョンを持つことができるため、各ユーザーは異なるプラグインを持つことができます。 このエントリは空白にできず、有効なプラグインを指している必要があります。

サポートされているコマンドレット

HostName <String>

WS-Management (WinRM) サービスが実行されているコンピューターのホスト名を指定します。

値は完全修飾ドメイン名、IPv4 または IPv6 のリテラル文字列、またはワイルドカード文字にする必要があります。

サポートされているコマンドレット

Issuer <String>

証明書を発行した証明機関の名前を指定します。

サポートされているコマンドレット

WS-Management の機能に接続して拡張します。 WSW-Management プラグイン API には、サポートされているリソース URI と操作用の特定の API を実装することで、ユーザーがプラグインを記述できるようにする機能が用意されています。 WS-Management (WinRM) サービスまたは インターネット インフォメーション サービス (IIS) 用にプラグインを構成すると、プラグインは WS-Management ホストまたは IIS ホストにそれぞれ読み込まれます。 リモート要求は、操作を実行するためにこれらのプラグイン エントリ ポイントにルーティングされます。

サポートされているコマンドレット

Port <Unsigned Short Integer>

このリスナーが作成された TCP ポートを指定します。 1 ~ 65535 の任意の値を指定できます。

サポートされているコマンドレット

Resource <String>

個別の種類の管理操作または値を表すエンドポイントを指定します。 サービスは 1 つ以上のリソースを公開し、一部のリソースには複数のインスタンスを含めることができます。 管理リソースは WMI クラスまたはデータベース テーブルに似ていますが、インスタンスはクラスのインスタンスまたはテーブル内の行に似ています。 たとえば、 Win32_LogicalDisk クラスはリソースを表します。 Win32_LogicalDisk="C:\\" は、リソースの特定のインスタンスです。

Uri (Uniform Resource Identifier) には、プレフィックスとリソースへのパスが含まれています。 次に例を示します。

http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDisk

http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_NumericSensor

サポートされているコマンドレット

Resource <String>

コンピューター上の特定の種類のリソース (ディスクやプロセスなど) を識別する URI (Uniform Resource Identifier) を指定します。

URI は、プレフィックスとリソースのパスで構成されます。 次に例を示します。

http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDisk

http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_NumericSensor

サポートされているコマンドレット

SDKVersion <String>

WS-Management プラグイン SDK のバージョンを指定します。 有効な値は 1 のみです。

サポートされているコマンドレット

Subject <String>

証明書によって識別されるエンティティを指定します。

サポートされているコマンドレット

Transport <String>

WS-Management プロトコルの要求と応答を送受信するためのトランスポートを指定します。 値は HTTP または HTTPS のいずれかでなければなりません。

注: トランスポート値は、リスナーの作成時に設定されます。

サポートされているコマンドレット

URI <String>

Sddl パラメーターの値に基づいて、アクセスが承認される URI を識別します。

サポートされているコマンドレット

URLPrefix <String>

HTTP または HTTPS 要求を受け入れる URL プレフィックス。 これは、 [a-z][A-Z][9-0]、アンダースコア (_) と円記号 (/) のみを含む文字列です。 文字列の先頭と末尾を円記号 (/) にすることはできません。 たとえば、コンピューター名が "SampleComputer" の場合、WS-Management クライアントは宛先アドレスに http://SampleMachine/URLPrefix を指定します。

サポートされているコマンドレット

Value <String>

初期化パラメーターの値を指定します。これは、構成オプションの指定に使用されるプラグイン固有の値です。

サポートされているコマンドレット

XMLRenderingType <String>

WSMAN_DATA オブジェクトを介してプラグインに XML を渡す形式を指定します。 有効な値を次に示します。

  • テキスト: 受信 XML データは、PCWSTR メモリ バッファーとして XML を表すWSMAN_DATA_TYPE_TEXT構造体に含まれています。
  • XMLReader: 受信 XML データは、"WebServices.h" ヘッダー ファイルで定義されているXmlReader オブジェクトとして XML を表すWSMAN_DATA_TYPE_WS_XML_READER構造体に含まれています。

サポートされているコマンドレット

パイプラインの使用

プロバイダー コマンドレットは、パイプライン入力を受け入れます。 パイプラインを使用すると、あるコマンドレットから別のプロバイダー コマンドレットにプロバイダー データを送信することで、タスクを簡略化できます。 プロバイダー コマンドレットでパイプラインを使用する方法の詳細については、この記事全体で提供されているコマンドレットリファレンスを参照してください。

ヘルプの表示

Windows PowerShell 3.0 より、プロバイダー コマンドレットのためにカスタマイズされたヘルプ トピックを取得できます。これはファイル システム ドライブでのプロバイダー コマンドレットの動作を説明します。

ファイル システム ドライブ用にカスタマイズされたヘルプ トピックを取得するには、ファイル システム ドライブで Get-Help コマンドを実行するか、Get-Help-Path パラメーターを使用してファイル システム ドライブを指定します。

Get-Help Get-ChildItem
Get-Help Get-ChildItem -Path wsman:

関連項目