Invoke-WSManAction

リソース URI とセレクターによって指定されたオブジェクトのアクションを呼び出します。

構文

Invoke-WSManAction
      [-Action] <String>
      [-ConnectionURI <Uri>]
      [-FilePath <String>]
      [-OptionSet <Hashtable>]
      [[-SelectorSet] <Hashtable>]
      [-SessionOption <SessionOption>]
      [-ValueSet <Hashtable>]
      [-ResourceURI] <Uri>
      [-Credential <PSCredential>]
      [-Authentication <AuthenticationMechanism>]
      [-CertificateThumbprint <String>]
      [<CommonParameters>]
Invoke-WSManAction
      [-Action] <String>
      [-ApplicationName <String>]
      [-ComputerName <String>]
      [-FilePath <String>]
      [-OptionSet <Hashtable>]
      [-Port <Int32>]
      [[-SelectorSet] <Hashtable>]
      [-SessionOption <SessionOption>]
      [-UseSSL]
      [-ValueSet <Hashtable>]
      [-ResourceURI] <Uri>
      [-Credential <PSCredential>]
      [-Authentication <AuthenticationMechanism>]
      [-CertificateThumbprint <String>]
      [<CommonParameters>]

説明

このコマンドレットは、Windows プラットフォームでのみ使用できます。

RESOURCE_URI Invoke-WSManAction で指定されたオブジェクトに対してアクションが実行されます。ここで、パラメーターはキーと値のペアで指定されます。

このコマンドレットは、WSMan の接続/トランスポート層を使用して、アクションを実行します。

例 1: メソッドを呼び出す

Invoke-WSManAction -Action startservice -ResourceURI wmicimv2/win32_service  -SelectorSet @{name="spooler"} -Authentication default

xsi         : http://www.w3.org/2001/XMLSchema-instance
p           : http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service
cim         : http://schemas.dmtf.org/wbem/wscim/1/common
lang        : en-US
ReturnValue : 0

このコマンドは、スプーラー サービスに対応する Win32_Service WMI クラス インスタンスの StartService メソッドを呼び出します。

戻り値は、アクションが成功したかどうかを示します。 この場合、戻り値の 0 は成功を示します。 戻り値の 5 は、サービスが既に開始されていることを示します。

例 2: メソッドを呼び出す

Invoke-WSManAction -Action stopservice -ResourceURI wmicimv2/Win32_Service -SelectorSet @{Name="spooler"} -FilePath:input.xml -Authentication default

xsi         : http://www.w3.org/2001/XMLSchema-instance
p           : http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service
cim         : http://schemas.dmtf.org/wbem/wscim/1/common
lang        : en-US
ReturnValue : 0

このコマンドは、ファイルからの入力を 使用して、スプーラー サービスで StopService メソッドを呼び出します。 ファイルには、 Input.xml次の内容が含まれています。

<p:StopService_INPUT xmlns:p="http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service" />

例 3: 指定したパラメーター値を使用してメソッドを呼び出す

Invoke-WSManAction -Action create -ResourceURI wmicimv2/win32_process -ValueSet @{commandline="notepad.exe";currentdirectory="C:\"}

xsi         : http://www.w3.org/2001/XMLSchema-instance
p           : http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Process
cim         : http://schemas.dmtf.org/wbem/wscim/1/common
lang        : en-US
ProcessId   : 6356
ReturnValue : 0

このコマンドは、 Win32_Process クラスの Create メソッドを呼び出します。 メソッドに 2 つのパラメーター値を Notepad.exe 渡します C:\。 その結果、メモ帳実行する新しいプロセスが作成され、新しいプロセスの現在のディレクトリが C:\.

例 4: リモート コンピューターでメソッドを呼び出す

Invoke-WSManAction -Action startservice -ResourceURI wmicimv2/win32_service  -SelectorSet @{name="spooler"} -ComputerName server01 -Authentication default

xsi         : http://www.w3.org/2001/XMLSchema-instance
p           : http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service
cim         : http://schemas.dmtf.org/wbem/wscim/1/common
lang        : en-US
ReturnValue : 0

このコマンドは、スプーラー サービスに対応する Win32_Service WMI クラス インスタンスの StartService メソッドを呼び出します。 ComputerName パラメーターが指定されているため、コマンドは server01 リモート コンピューターに対して実行されます。

戻り値は、アクションが成功したかどうかを示します。 この場合、戻り値の 0 は成功を示します。 戻り値の 5 は、サービスが既に開始されていることを示します。

パラメーター

-Action

ResourceURI とセレクターで指定された管理オブジェクトで実行するメソッドを指定します。

Type:String
Position:1
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ApplicationName

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

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

次に例を示します。

http://server01:8080/WSMAN

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

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Authentication

サーバーで使用される認証メカニズムを指定します。 次のいずれかの値になります。

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

注意

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

Type:AuthenticationMechanism
Aliases:auth, am
Accepted values:None, Default, Digest, Negotiate, Basic, Kerberos, ClientCertificate, Credssp
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CertificateThumbprint

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

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

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

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ComputerName

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

Type:String
Aliases:cn
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ConnectionURI

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

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

次の文字列は、このパラメーターの正しい形式の値です。

http://Server01:8080/WSMAN

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

Type:Uri
Aliases:CURI, CU
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

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

Type:PSCredential
Aliases:cred, c
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-FilePath

管理リソースの更新に使用するファイルのパスを指定します。 管理リソースは、ResourceURI パラメーターと SelectorSet パラメーターを使用して指定します。 たとえば、次のコマンドは、FilePath パラメーターを使用します。

Invoke-WSManAction -Action stopservice -ResourceUri wmicimv2/Win32_Service -SelectorSet @{Name="spooler"} -FilePath c:\input.xml -Authentication default

このコマンドは、ファイルからの入力を 使用して、スプーラー サービスで StopService メソッドを呼び出します。 ファイルには、 Input.xml次の内容が含まれています。

<p:StopService_INPUT xmlns:p="http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service" />

Type:String
Aliases:Path
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-OptionSet

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

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

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

Type:Hashtable
Aliases:os
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Port

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

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ResourceURI

リソース クラスまたはインスタンスの Uniform Resource Identifier (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

Type:Uri
Aliases:ruri
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-SelectorSet

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

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

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

Type:Hashtable
Position:2
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-SessionOption

WS-Management セッションの一連の拡張オプションを定義します。 コマンドレットを使用して作成する SessionOption オブジェクトを New-WSManSessionOption 入力します。 使用できるオプションの詳細については、以下を参照してください New-WSManSessionOption

Type:SessionOption
Aliases:so
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UseSSL

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

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ValueSet

管理リソースの変更に役立つハッシュ テーブルを指定します。 ResourceURI パラメーターと SelectorSet パラメーターを使用して管理リソースを指定します。 ValueSet パラメーターの値は、ハッシュ テーブルである必要があります。

Type:Hashtable
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

入力

None

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

出力

XmlElement

このコマンドレットは、操作の結果を XmlElement オブジェクトとして返します。