about_WSMan_Provider

プロバイダー名

WSMan

ドライブ

WSMan:

簡単な説明

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

詳しい説明

この情報は、Windows で実行されている PowerShell にのみ適用されます。

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

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

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

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使用して、リモート コンピューター "Standard Edition RVER01" ストアの場所に 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 をサポートしています。 次の例では、格納されている古い値に新しい値 "*.doメイン2.com" を追加します。TrustedHost:

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

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

新しいリスナーの作成

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

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" として表示されます。 すべてのパラメーターは必須です。 発行者は 、発行者 証明書の拇印である必要があります。

$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 プロバイダーによって追加されるコマンドレット パラメーターであり、プロバイダー対応ドライブでコマンドレットが使用されている場合にのみ使用できます。

アドレス <文字列>

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

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

Note

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

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

Capability <列挙型>

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

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

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

    Note

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

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

    Note

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

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

    Note

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

  • 取得: 取得操作は 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 <文字列>

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

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

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

有効な <ブール値>

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

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

FileName (プラグイン) <文字列>

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

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

HostName <文字列>

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

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

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

発行者 <文字列>

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

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

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

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

ポート <符号なし短整数>

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

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

リソース <文字列>

個別の種類の管理操作または値を表すエンドポイントを指定します。 サービスは 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

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

リソース <文字列>

コンピューター上の特定の種類のリソース (ディスクやプロセスなど) を識別する 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 <文字列>

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

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

件名 <文字列>

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

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

トランスポート <文字列>

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

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

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

URI <文字列>

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

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

URLPrefix <文字列>

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

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

値 <の文字列>

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

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

XMLRenderingType <文字列>

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:

関連項目