PowerShell 1.0 では、バックグラウンドでのジョブ実行ができなかったため、1つのコマンドが完了するまで次のコマンドの実行をすることができませんでした。今回はPowerShell 2.0で新たに搭載されたバックグラウンドジョブに関するコマンドレットに焦点を当てて解説します。
はじめに
PowerShell 1.0では、バックグラウンドでのジョブ実行ができなかったため、1つのコマンドが完了するまで次のコマンドの実行をすることができませんでした。PowerShell 2.0からは簡単にバックグラウンドでジョブを実行する機能が搭載されています。今回は、このバックグラウンドジョブに焦点を当てて解説します。
対象読者
- PowerShellの基本的な操作ができる方。
PowerShellについて学びたい方は、PowerShell入門の連載を参照ください。
必要条件
バックグラウンドジョブを実行するにはPowerShellがリモート処理用に構成されている必要があります。リモート処理用に構成する方法については前回の記事で解説していますので、そちらを参照してください。
ローカルコンピューターでバックグラウンドジョブを実行する方法
ローカルコンピューターでバックグラウンドジョブを実行するには、Start-Jobコマンドレットを使用します。このコマンドレットはPowerShell 2.0で新しく追加されたものです。
Start-Jobコマンドレットの基本構文は次の通りです。
Start-Job -ScriptBlock {バックグラウンドで実行するコマンド}
リスト1は、Get-ChildItemコマンドレットを「C:\Work」というフォルダに対して実行する例です。
Start-Job -ScriptBlock {Get-ChildItem C:\Work}
このコマンドを実行すると、すぐにプロンプトに戻り、図1のようにジョブの実行状況が表示されます。
Idは実行したジョブに付けられるユニークな番号を示します。またStateはジョブの実行状況を表し、「Running」となっている場合は、現在そのジョブがバックグラウンドで実行中であることを示します。
この記事は参考になりましたか?
- PowerShell 2.0の新機能連載記事一覧
- この記事の著者
-
HIRO(ヒロ)
HIRO's.NETのHIROです。とある半導体工場のSEです。VB.NET, C#, PowerShellによるプログラミングを楽しんでいます。最近はBlog でPowerShellについて書いています。2008/07/07にPowerShell from Japan!!というサイトを立ち上げまし...
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア

