IT業界が同意するようになったことの1つは、標準ベースで、クロスプラットフォームで、スケーラブルな自動化を提供するツールは、投資に値するということです。しかし、さまざまなベンダーが提供するGUIにはすべて利点があり、PowerShellはほとんどの自動化ニーズで利用できます。PowerShellが嫌いでも好きでも、PowerShellを使う必要があります。
Unixオペレーティングシステムを使用するIT管理者は、数十年にわたってPowerShellを使用してきました。真の自動化とは、リアルタイムで同時に多くのオブジェクトと対話できることであり、自動化スクリプトが最も柔軟な方法であることを知っています。これは、コマンドラインシェルによって実現され、最も支配的なシェルは、VMware、Microsoft SCVMM、およびCitrix XenAppによって採用されているPowerShellです。
以下はその例です。事業部は、Active Server Pages .NETアプリケーションを実行するための新しいWebサーバーを導入する必要があります。従来のソリューションは次のようになります:
- ランディングサーバー
- GUIサーバーマネージャーを開く
- 必要な役割と役割サービスを選択します。
- サーバーの再起動
PowerShellを使った解決策は以下の通りです:
- ランディングサーバー
- PowerShellを開き、次のように入力します:
- PS> Install-WindowsFeature Web-Server, web-Asp-Net
小規模な要件では、これは大きな違いではありません。ロードバランスクラスター内の50台のWebサーバーすべてが新しいASP.NETアプリケーションを実行する必要がある場合、GUI管理者の仕事は次のようになります:
- ランディングサーバー
- GUIサーバーマネージャーを開く
- 必要な役割と役割サービスを選択します。
- サーバーの再起動
- ネクストサーバー
このソリューションでは、数時間から数週間の作業が必要で、ログ文書が作成されず、ASPの追加を忘れるなどの人的ミスが発生する可能性があります。代わりに、自動化の専門家は、このタスクを達成するために次のアプローチを使用します:
- PowerShellを開き、次のように入力します:
- PS> Invoke-Command -ComputerName Web1,Web2,Web3 {Install-WindowsFeature Web-Server, web-Asp-Net}.
はい、コンピュータのホスト名は、テキストファイル、.csvファイル、またはActive Directoryの***から取得できますが、コマンドは本質的に変わりません。この例のポイントは、PowerShell Remotingを使用することで、50台のサーバを数分でインストールおよび構成できることを示すことです。単純な例ですが、ポイントは明確です。私は数分ですべてを行うことができ、GUI管理者よりもビジネスにとって価値があります。
PowerShell v4は、UnixのPuppetやChefに似たシステム構成を管理・制御するシステムを定義する方法を提供します。
PowerShell Automation は、IT 管理者が希望する状態をデプロイし、維持するためのクロスプラットフォームツールを提供します。これにより、CIO は 50 台の新しい Web サーバを数分でデプロイできるようになります。つまり、自動化を適切に使用することで、IT 部門はビジネス・ニーズをよりよく満たすことができるようになります。