BT

PowerShell 3のWindows Workflow Foundationサポート

| 作者: Jonathan Allen フォローする 593 人のフォロワー , 翻訳者 徳武 聡 フォローする 0 人のフォロワー 投稿日 2012年3月28日. 推定読書時間: 2 分 |

原文(投稿日:2012/03/26)へのリンク

MicrosoftはWindows PowerShell Workflowの詳細を発表している。PSWFとして知られるPowerShell 3のこの機能を使うと管理者は“複数のコンピュータやデバイスやITプロセスにまたがる長時間実行されるタスクを安全に実行する”ことができる。この場合、“長期間”とは数時間から数日だ。

PSWF用のワークフローはWindows Workflow Foundationで使われるXAMLで書かれる。しかし、ほとんどのPowerShellユーザは新しいスクリプトベースのワークフローの構文を使いやすいと思うだろう。この構文はPowerShellの拡張であり、複数のコンストラクトが追加されている。

  • workflow: ワークフローを定義する。このコンストラクトを使うことであるワークフローを他のワークフローに入れ子にできる。
  • inlinescript: 通常、ワークフローの各行は分離されて実行される。このコンストラクトは複数の行をグループにして、ローカル変数を共有できるようにする。インラインスクリプトブロックを使えば、通常はワークフロー内で使えないPowerShellの構文が使えるようになる。
  • foreach –parallel: 各項目に対して、コンストラクトの内容を並列で実行する。
  • parallel: コンストラクトの内部で各タスクを並列実行する。実行順は保証されない。
  • sequence: コンストラクトの内部で順番にタスクを実行する。通常は並列実行ブロックの中で、順列になった文のグループを作るのに使われる。

重要なのはPowerShellのワークフローは多くの点でPowerShellの構文のサブセットであることだ。通常のPowerShellスクリプトとは違い、PowerShellのワークフローは静的にコンパイルされる。したがって、位置パラメータや動的パラメータなど多くの動的な特性は利用できない。また、ワークフローをどの時点でも永続化できる必要があるので、ドット記法を使ったメソッドの実行もできない。“ドット記法を使えば、生のオブジェクトを扱えますが、ワークフローが、そのオブジェクトが生成される呼び出しからそのオブジェクトのメソッドを利用する呼び出しの間で永続化されている場合は、利用できません。”

ワークフローのアクティビティとして動作しないコマンドレットもある。前述の通り、ワークフローの各行は分離されたPowerShellセッションで実行される。したがって、PowerShellセッションの状態を変えてしまうコマンドレットは使えない。同じようにトランザクションをサポートするコマンドレットも使えない。

PSWFは拡張性を考慮して設計されている。具体的に言えば、スケールアウトできるように設計されている。ひとつのワークフローは“数千の管理ノード”上で実行できる。従って、巨大なサーバ群をひとつのマシンを管理しているかのように簡単に管理できる。例えば、複数のマシンにまたがって実行されるワークフローを起動するためには、PSComputerNameパラメータを付けてワークフローを起動すればいい。このパラメータでマシン名のリストを渡すのだ。

長時間実行されるワークフローはバックグランドで実行するのがいいだろう。PSWFはPowerShellのジョブインフラと統合されている。従って、ワークフローをAsJobパラメータ付きで実行することも、通常のジョブコマンドレットを使うこともできる。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT