PowerShellコマンドレット虎の巻

Start-Job

Start-Jobは、ジョブを開始するコマンドです。

エイリアスsajb

解説

PowerShellコマンドやスクリプトブロックをバックグラウンドで非同期に実行します。

時間のかかる処理を実バックグラウンドで実行しながら、
同時に他のタスクを続けることができます。

構文

(構文)
Start-Job [-ScriptBlock] <scriptblock> [[-InitializationScript] <scriptblock>] [<CommonParameters>] Start-Job [-DefinitionName] <string> [[-DefinitionPath] <string>] [[-Type] <string>] [<CommonParameters>] Start-Job [-FilePath] <string> [[-InitializationScript] <scriptblock>] [<CommonParameters>] Start-Job [[-InitializationScript] <scriptblock>] [<CommonParameters>]
【主要パラメータ】
パラメータ説明
-DefinitionName 名前ジョブ定義の名前を指定する
(ワークフロージョブ用)
-DefinitionPath パス ジョブ定義のパスを指定する
(ワークフロージョブ用)
-Type 型ジョブの種類を指定する
(ワークフロージョブ用)
-Name ジョブ名ジョブに名前を付ける
-ScriptBlock スクリプトブロック実行するスクリプトブロックを指定する
-Credential 資格情報資格情報を指定する
-FilePath パス実行するスクリプトファイルのパスを指定する
-LiteralPath パス対象パスを指定する(ワイルドカード使用不可)
(例)-LiteralPath "D:\test"
-Authentication 認証リモートコンピューターに接続する際の認証メカニズムを指定する
-InitializationScriptジョブの開始前に実行するスクリプトブロックを指定する
-RunAs3232ビットプロセスとしてジョブを実行する
-PSVersion バージョンジョブを実行するPowerShellのバージョンを指定する
(例)-PSVersion 5.1
-InputObject オブジェクトジョブに入力として渡すオブジェクトを指定する
-ArgumentList 引数リストスクリプトブロックに渡す引数のリストを指定する

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

サンプル

Get-Processコマンドをバックグラウンドジョブとして実行する(ジョブ名はProcessList)

Start-Job -ScriptBlock { Get-Process } -Name "ProcessList"

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

Start-Job -FilePath "D:\sample.ps1"

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

Get-Help Start-Job

備考

  • ジョブの結果を取得するにはReceive-Jobコマンドを使用します。

関連項目