HOME > Command系コマンドレット > Invoke-Command
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 ポート | このコマンドに使用するリモートコンピューター上のポートを指定する | 
| -UseSSL | SSLを使用してリモートコンピューターへ接続を確立することを示す | 
| -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が有効になっている必要があります。
 
関連項目
- Command系コマンドレット
 - Get-Command:コマンドの一覧を取得する
 - Show-Command:コマンドウィンドウを表示する
 - Find-Command:コマンドを検索する
 - Invoke-Command:コマンドの文字列を実行する
 - Measure-Command:コマンドの実行時間を計測する
 - Trace-Command:コマンドのトレースを開始する