PowerShellコマンドレット虎の巻

Invoke-Command

Invoke-Commandは、コマンドの文字列を実行するコマンドです。

エイリアスicm

解説

スクリプトブロックやコマンドを実行します。
ローカルまたはリモートコンピュータ上で実行できます。

構文

(構文)
Invoke-Command [-ScriptBlock] <scriptblock> [<CommonParameters>] Invoke-Command [[-Session] <PSSession[]>] [-FilePath] <string> [<CommonParameters>] Invoke-Command [[-Session] <PSSession[]>] [-ScriptBlock] <scriptblock> [<CommonParameters>] Invoke-Command [[-ComputerName] <string[]>] [-ScriptBlock] <scriptblock> [<CommonParameters>] Invoke-Command [[-ComputerName] <string[]>] [-FilePath] <string> [<CommonParameters>] Invoke-Command [[-ConnectionUri] <uri[]>] [-ScriptBlock] <scriptblock> [<CommonParameters>] Invoke-Command [[-ConnectionUri] <uri[]>] [-FilePath] <string> [<CommonParameters>] Invoke-Command [-VMId] <guid[]> [-ScriptBlock] <scriptblock> [<CommonParameters>] Invoke-Command [-ScriptBlock] <scriptblock> [<CommonParameters>] Invoke-Command [-VMId] <guid[]> [-FilePath] <string> [<CommonParameters>] Invoke-Command [-FilePath] <string> [<CommonParameters>] Invoke-Command [-ScriptBlock] <scriptblock> [<CommonParameters>] Invoke-Command [-FilePath] <string> [<CommonParameters>]
【主要パラメータ】
パラメータ説明
-Session オブジェクトコマンドを実行するPSSessionオブジェクトを指定する
-ComputerName 名前コマンドを実行するリモートコンピューターの名前を指定する
-Credential 認証情報リモートコンピューターに接続するための認証情報を指定する
-Port ポートこのコマンドに使用するリモートコンピューター上のポートを指定する
-UseSSLSSLを使用してリモートコンピューターへ接続を確立することを示す
-ConfigurationName 構成名使用するエンドポイントの構成名を指定する
-ApplicationName 名前接続URIのアプリケーション名セグメントを指定する
-ThrottleLimit 数同時に実行できるリモート操作の最大数を指定する
-ConnectionUri URIセッションの接続エンドポイントを定義するURIを指定する
-AsJobコマンドをバックグラウンドジョブとして実行することを指定する
-InDisconnectedSessionこのコマンドレットが切断されたセッションでコマンドまたはスクリプトを実行することを示す
-SessionName 名前切断されたセッションのフレンドリ名を指定する
-HideComputerName出力にリモートコンピューター名を含めない
-JobName ジョブ名ジョブの名前を指定する
※-AsJobパラメータとともに使用
-ScriptBlock スクリプトブロック実行するコマンドを含むスクリプトブロックを指定する
-NoNewScopeスクリプトブロックを新しいスコープで実行しない
-FilePath パス実行するスクリプトファイルのパスを指定する
-AllowRedirectionこの接続を代替URIにリダイレクトする
-SessionOption新しいセッションオプションを指定する
※New-PSSessionOptionコマンドレットで作成されたオプションを使用する
-Authentication資格情報を認証するために使用するメカニズムを指定する
※既定値はDefault
-EnableNetworkAccessリモートコンピューターでネットワークリソースへのアクセスを有効にする
-RunAsAdministrator管理者としてコマンドを呼び出したことを示す
-InputObjectパイプライン入力を受け取る
-ArgumentList 引数スクリプトブロックに渡す引数を指定する
-VMId ID配列仮想マシンのIDの配列を指定する
-VMName マシン名配列仮想マシンの名前の配列を指定する
-ContainerId ID配列コンテナーIDの配列を指定する
-CertificateThumbprint 公開キー切断されたセッションに接続するためのアクセス許可を持つユーザーアカウントのデジタル公開キー証明書(X509 を指定する

共通的なパラメータは「共通パラメータ」をご覧ください。

サンプル

スクリプトブロックを実行する

Invoke-Command -ScriptBlock { Get-Process }

スクリプトファイルを実行する

Invoke-Command -FilePath "D:\sample.ps1"

複数のコマンドを実行する

Invoke-Command -ScriptBlock { Get-Process Get-Service }

コマンドのヘルプを表示する

Get-Help Invoke-Command

備考

  • リモートコンピュータで実行するには、リモートPC上でWinRMが有効になっている必要があります。

関連項目