Get-WSManInstance

リソース URI で指定されたリソース インスタンスの管理情報を表示します。

構文

Get-WSManInstance
   [-ApplicationName <String>]
   [-ComputerName <String>]
   [-ConnectionURI <Uri>]
   [-Dialect <Uri>]
   [-Fragment <String>]
   [-OptionSet <Hashtable>]
   [-Port <Int32>]
   [-ResourceURI] <Uri>
   [-SelectorSet <Hashtable>]
   [-SessionOption <SessionOption>]
   [-UseSSL]
   [-Credential <PSCredential>]
   [-Authentication <AuthenticationMechanism>]
   [-CertificateThumbprint <String>]
   [<CommonParameters>]
Get-WSManInstance
   [-ApplicationName <String>]
   [-BasePropertiesOnly]
   [-ComputerName <String>]
   [-ConnectionURI <Uri>]
   [-Dialect <Uri>]
   [-Enumerate]
   [-Filter <String>]
   [-OptionSet <Hashtable>]
   [-Port <Int32>]
   [-Associations]
   [-ResourceURI] <Uri>
   [-ReturnType <String>]
   [-SessionOption <SessionOption>]
   [-Shallow]
   [-UseSSL]
   [-Credential <PSCredential>]
   [-Authentication <AuthenticationMechanism>]
   [-CertificateThumbprint <String>]
   [<CommonParameters>]

説明

Get-WSManInstance コマンドレットは、リソース Uniform Resource Identifier (URI) で指定された管理リソースのインスタンスを取得します。 取得される情報には、オブジェクトまたは単純な値である複雑な XML 情報セットを指定できます。 このコマンドレットは、標準の Web Services for Management (WS-Management) Get コマンドと同等です。

このコマンドレットは、WS-Management の接続/トランスポート層を使用して、情報を取得します。

例 1: WMI からすべての情報を取得する

Get-WSManInstance -ResourceURI wmicimv2/win32_service -SelectorSet @{name="winrm"} -ComputerName "Server01"

このコマンドは、リモート サーバー 01 コンピューター上の WinRM サービスに関する Windows Management Instrumentation (WMI) が公開するすべての情報を返します。

例 2: スプーラー サービスの状態を取得する

Get-WSManInstance -ResourceURI wmicimv2/win32_service -SelectorSet @{name="spooler"} -Fragment Status -ComputerName "Server01"

このコマンドは、リモート server01 コンピューター上の Spooler サービスの状態のみを返します。

例 3: すべてのサービスのエンドポイント参照を取得する

Get-WSManInstance -Enumerate -ResourceURI wmicimv2/win32_service -ReturnType EPR

このコマンドは、ローカル コンピューター上のすべてのサービスに対応するエンドポイント参照を返します。

例 4: 指定した条件を満たすサービスを取得する

Get-WSManInstance -Enumerate -ResourceURI wmicimv2/* -Filter "select * from win32_service where StartMode = 'Auto' and State = 'Stopped'" -ComputerName "Server01"

このコマンドは、リモート Server01 コンピューターで次の条件を満たすすべてのサービスを一覧表示します。

  • サービスのスタートアップの種類は [自動] です。
  • サービスが停止しています。

例 5: ローカル コンピューターの条件に一致するリスナー構成を取得する

Get-WSManInstance -ResourceURI winrm/config/listener -SelectorSet @{Address="*";Transport="http"}

このコマンドは、ローカル コンピューター上の、セレクター セットの条件と一致する WS-Management リスナーの構成を一覧表示します。

例 6: リモート コンピューター上の条件に一致するリスナー構成を取得する

Get-WSManInstance -ResourceURI winrm/config/listener -SelectorSet @{Address="*";Transport="http"} -ComputerName "Server01"

このコマンドは、server01 リモート コンピューター上の、セレクター セットの条件と一致する WS-Management リスナーの構成を一覧表示します。

例 7: 指定したインスタンスに関連する関連インスタンスを取得する

Get-WSManInstance -Enumerate -Dialect Association -Filter "{Object=win32_service?name=winrm}" -ResourceURI wmicimv2/*

このコマンドは、指定されたインスタンス (winrm) に関連付けられているインスタンスを取得します。

次の例に示すように、フィルターを二重引用符で囲む必要があります。

例 8: 指定したインスタンスに関連する関連付けインスタンスを取得する

Get-WSManInstance -Enumerate -Dialect Association -Associations -Filter "{Object=win32_service?name=winrm}" -ResourceURI wmicimv2/*

このコマンドは、指定されたインスタンス (winrm) の関連付けインスタンスを取得します。 Dialect 値は関連付けであり、Associations パラメーターを使用するため、このコマンドは関連付けられたインスタンスではなく、関連付けインスタンスを返します。

次の例に示すように、フィルターを二重引用符で囲む必要があります。

パラメーター

-ApplicationName

接続のアプリケーション名を指定します。 ApplicationName パラメーターの既定値は WSMAN です。 リモート エンドポイントの完全な識別子は、次の形式です。

<transport>://<server>:<port>/<ApplicationName>

例: http://server01:8080/WSMAN

セッションをホストするインターネット インフォメーション サービス (IIS) は、このエンドポイントで、指定されたアプリケーションに要求を転送します。 WSMAN のこの既定の設定は、ほとんどの用途に適しています。 このパラメーターは、多くのコンピューターが PowerShell を実行している 1 台のコンピューターへのリモート接続を確立する場合に使用するように設計されています。 この場合、IIS は効率のために WS-Management をホストします。

型:String
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Associations

このコマンドレットが関連付けられたインスタンスではなく、関連付けインスタンスを取得することを示します。 このパラメーターは、 Dialect パラメーターの値が Association の場合にのみ使用できます。

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Authentication

サーバーで使用される認証メカニズムを指定します。 このパラメーターの有効値は、次のとおりです。

  • Basic - Basic は、ユーザー名とパスワードがクリア テキストでサーバーまたはプロキシに送信されるスキームです。
  • Default - WS-Management プロトコルによって実装された認証方法を使用します。 これが既定です。
  • Digest - Digest は、チャレンジにサーバー指定のデータ文字列を使用するチャレンジ応答スキームです。
  • Kerberos - クライアント コンピューターとサーバーは、Kerberos 証明書を使用して相互に認証します。
  • Negotiate - Negotiate は、認証に使用するスキームを決定するためにサーバーまたはプロキシとネゴシエートするチャレンジ応答スキームです。 たとえば、このパラメーター値を使用すると、ネゴシエーションで Kerberos プロトコルと NTLM のどちらを使用するかを判断できます。
  • CredSSP - 資格情報セキュリティ サポート プロバイダー (CredSSP) 認証を使用します。これにより、ユーザーは資格情報を委任できます。 このオプションは、1 台のリモート コンピューターで実行するが、他のリモート コンピューターからデータを収集するコマンドや、他のリモート コンピューターで追加のコマンドを実行するコマンドを対象としています。

注意事項

CredSSP は、ローカル コンピューターからリモート コンピューターにユーザーの資格情報を委任します。 そのため、リモート操作のセキュリティ リスクが高まります。 リモート コンピューターのセキュリティが低下している場合は、そのリモート コンピューターに渡された資格情報を使用してネットワーク セッションが制御される場合があります。

型:AuthenticationMechanism
Aliases:auth, am
指定可能な値:None, Default, Digest, Negotiate, Basic, Kerberos, ClientCertificate, Credssp
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-BasePropertiesOnly

このコマンドレットは、 ResourceURI パラメーターで指定された基底クラスの一部であるプロパティのみを列挙することを示します。 Shallow パラメーターが指定されている場合、このパラメーターは無効です。

型:SwitchParameter
Aliases:UBPO, Base
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-CertificateThumbprint

この処理を実行するアクセス許可を持つユーザー アカウントのデジタル公開キー証明書 (X509) を指定します。 証明書の拇印を入力します。

証明書は、クライアント証明書ベースの認証で使用されます。 これらの証明書は、ローカル ユーザー アカウントにしかマップできません。ドメイン アカウントでは機能しません。

証明書の拇印を取得するには、PowerShell 証明書: ドライブの Get-Item または Get-ChildItem コマンドを使用します。

型:String
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-ComputerName

管理操作を実行する対象のコンピューターを指定します。 値には、完全修飾ドメイン名、NetBIOS 名、または IP アドレスを指定できます。 ローカル コンピューター名を使用するか、localhost を使用するか、ドット (.) を使用してローカル コンピューターを指定します。 ローカル コンピューターは、既定値です。 リモート コンピューターがユーザーとは異なるドメインにある場合は、完全修飾ドメイン名を使用する必要があります。 パイプを使用して、このパラメーターの値をコマンドレットに渡すことができます。

型:String
Aliases:CN
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-ConnectionURI

接続エンドポイントを指定します。 この文字列の形式は次のとおりです。

<Transport>://<Server>:<Port>/<ApplicationName>

次の文字列は、このパラメーターに対して正しく書式設定された値です。

http://Server01:8080/WSMAN

URI は完全修飾名にする必要があります。

型:Uri
Aliases:CURI, CU
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Credential

この処理を実行するアクセス許可を持つユーザー アカウントを指定します。 既定値は現在のユーザーです。 User01、Domain01\User01、 User@Domain.comなどのユーザー名を入力します。 または、Get-Credential コマンドレットによって返されるオブジェクトなど、PSCredential オブジェクトを入力します。 ユーザー名を入力すると、このコマンドレットによってパスワードの入力が求められます。

型:PSCredential
Aliases:cred, c
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-Dialect

フィルター述語で使用する言語を指定します。 リモート サービスでサポートされている任意の言語を指定できます。 言語の URI には、次のエイリアスを使用できます。

  • WQL - http://schemas.microsoft.com/wbem/wsman/1/WQL
  • セレクタ- http://schemas.microsoft.com/wbem/wsman/1/wsman/SelectorFilter
  • 協会- http://schemas.dmtf.org/wbem/wsman/1/cimbinding/associationFilter
型:Uri
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Enumerate

このコマンドレットによって、管理リソースのすべてのインスタンスが返されることを示します。

型:SwitchParameter
配置:Named
規定値:None
必須:True
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Filter

列挙体のフィルター式を指定します。 このパラメーターを指定する場合は、 Dialect も指定する必要があります。

このパラメーターの有効な値は、 Dialect で指定されている方言によって異なります。 たとえば、 Dialect が WQL の場合、 Filter パラメーターには文字列が含まれている必要があり、文字列には次のような有効な WQL クエリが含まれている必要があります。

"Select * from Win32_Service where State != Running"

Dialect が Association の場合、Filter には文字列が含まれている必要があり、文字列には次のような有効なフィルターが含まれている必要があります。

-filter:Object=EPR\[;AssociationClassName=AssocClassName\]\[;ResultClassName=ClassName\]\[;Role=RefPropertyName\]\[;ResultRole=RefPropertyName\]}

型:String
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Fragment

指定された操作で更新または取得するインスタンス内のセクションを指定します。 たとえば、スプーラー サービスの状態を取得するには、次のように指定します。

-Fragment Status

型:String
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-OptionSet

要求の性質を変更または調整するサービスへのスイッチのセットを指定します。 これらは、サービス固有であるため、コマンド ライン シェルで使用されるスイッチに似ています。 任意の数のオプションを指定できます。

次の例では、a、b、および c パラメーターに値 1、2、および 3 を渡す構文を示します。

-OptionSet @{a=1;b=2;c=3}

型:Hashtable
Aliases:OS
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-Port

クライアントが WinRM サービスに接続するときに使用するポートを指定します。 トランスポートが HTTP の場合、既定のポートは 80 です。 トランスポートが HTTPS の場合、既定のポートは 443 です。

トランスポートとして HTTPS を使用する場合、 ComputerName パラメーターの値は、サーバーの証明書の共通名 (CN) と一致する必要があります。 ただし、 SkipCNCheck パラメーターが SessionOption パラメーターの一部として指定されている場合、サーバーの証明書の共通名はサーバーのホスト名と一致する必要はありません。 SkipCNCheck パラメーターは、信頼されたコンピューターにのみ使用する必要があります。

型:Int32
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-ResourceURI

リソース クラスまたはインスタンスの URI を指定します。 URI は、コンピューター上のディスクやプロセスなどの特定の種類のリソースを識別します。

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

型:Uri
Aliases:RURI
配置:0
規定値:None
必須:True
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-ReturnType

返されるデータの型を指定します。 このパラメーターの有効値は、次のとおりです。

  • Object
  • EPR
  • ObjectAndEPR

既定値は Object です。

Objectを指定した場合、またはこのパラメーターを指定しない場合、このコマンドレットはオブジェクトのみを返します。 エンドポイント参照 (EPR) を指定すると、このコマンドレットはオブジェクトのエンドポイント参照のみを返します。 エンドポイント参照には、インスタンスのリソース URI とセレクターに関する情報が含まれています。 ObjectAndEPRを指定すると、このコマンドレットはオブジェクトとそれに関連付けられているエンドポイント参照の両方を返します。

型:String
Aliases:RT
指定可能な値:object, epr, objectandepr
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-SelectorSet

特定の管理リソース インスタンスの選択に使用する値のペアのセットを指定します。 SelectorSet パラメーターは、リソースの複数のインスタンスが存在する場合に使用されます。 SelectorSet パラメーターの値はハッシュ テーブルである必要があります。

次の例では、このパラメーターの値を入力する方法を示します。

-SelectorSet @{Name="WinRM";ID="yyy"}

型:Hashtable
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-SessionOption

WS-Management セッションの拡張オプションを指定します。 New-WSManSessionOption コマンドレットを使用して作成する SessionOption オブジェクトを入力します。 使用可能なオプションの詳細については、「 Get-Help New-WSManSessionOption」と入力します。

型:SessionOption
Aliases:SO
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Shallow

このコマンドレットは、リソース URI で指定された基底クラスのインスタンスのみを返すように指定します。 このパラメーターを指定しない場合、このコマンドレットは URI とそのすべての派生クラスで指定された基底クラスのインスタンスを返します。

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-UseSSL

リモート コンピューターへの接続を確立するために Secure Sockets Layer (SSL) プロトコルを使用することを指定します。 既定では、SSL は使用されません。

WS-Management は、ネットワークを介して転送されるすべての Windows PowerShell コンテンツを暗号化します。 UseSSL パラメーターを使用すると、HTTP ではなく HTTPS の追加保護を指定できます。 接続に使用されているポートで SSL を使用できず、このパラメーターを指定すると、コマンドは失敗します。

型:SwitchParameter
Aliases:SSL
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

入力

None

このコマンドレットにオブジェクトをパイプすることはできません。

出力

XmlElement

このコマンドレットは、 XMLElement オブジェクトを返します。