ワークフローは、Windows PowerShell 3.0の注目すべき新機能で、, 2008, および .にもかかわらず、ワークフローの概念、役割、使用方法については、まだ曖昧な点があります。
PowerShellワークフローは、PowerShellの拡張機能に似ています。ワークフローにコマンドを入力すると、PowerShellはワークフローの実行を開始します。ワークフローは、複数のタスクを並行して実行するなど、PowerShellにはない機能をサポートしている点で「拡張」されています。また、スイッチ構築のサポートなど、PowerShellに既に存在する機能もありません。
実際には、これらのPowerShellワークフローアドオンはPowerShellで実行されません。その代わりに、.NET Frameworkで初めて存在したWindowsワークフロー基盤の一部です。
PowerShellの構文を使っているにもかかわらず、WWFのルールに従わなければならないので、学習曲線はより急です。使用できる変数、コマンド、コマンド間のデータ転送方法が変わりました。
しかし、PowerShellワークフローのビルトイン機能により、複数のターゲットリモートマシンを並行して動作させることができます。
また、ワークフローには優れたパラメータが組み込まれています。停電、ネットワーク障害、その他の一時的な障害に対応するため、ワークフローを中断、再開することができます。
もちろん、上記の機能を実装する方法はワークフローだけではありません。例えば、複数の並列リモートマシンにスクリプトを送信するには、追加の作業が必要ですが、Invoke-Command はそれを非常にうまくこなしてくれます。通常の」PowerShellスクリプトを使用することで、WWFのルールをすべて学ぶ必要がなくなります。
PowerShellワークフローの唯一の特徴は、中断と再開が可能なことです。場合によっては、PowerShellでワークフローを記述する方法によっては、中断/再開の機能すらないこともあります。





