大きな楽をするためのちょっとした努力
この記事は2010年5月31日に作成されました。 |
私の会社は、IT技術教育を提供しています。
しかし、社内の仕組みはITを駆使した理想的な環境かというと、そうでもありません。
システム管理者や開発者の立場から見ると、日々の業務の中では、「なぜ、こんな処理を手作業で?」とか、「これって、ちょっと工夫すれば自動化できるよね。」といった処理が散見されるのです。
単純なルールで動いている業務を、毎回仕方なく手作業でこなしている方は多いのではないでしょうか。
単純な業務を自動化することを妨げる要因
単純な業務を自動化することを妨げる要因としては、
- 自動化するためのプログラミングの知識がない
- プログラミングとシステム管理の連携方法がわからない
- 開発環境が充実していない
などいろいろなものがあるでしょう。
Windows PowerShellがおすすめ
そこで、おすすめなのはWindows PowerShellです。
Windows PowerShellはWindows環境で使用できる新しいコマンドライン ツールです。無償で入手できて、システム管理系のコマンドが充実し、コマンド同士を連携させて、複雑な処理でも簡潔に指定できる特徴を持ちます。
※ Windows PowerShellはバージョン1.0としてWindows Server 2008から標準装備され、Windows 7、Windows Server 2008 R2からはバージョン2.0として標準装備されています。Windows VistaやWindows Server 2003などにはマイクロソフト社のサイトからダウンロードしてインストールすることができます。
従来のシェルとの大きな違い
UnixやLinuxの管理知識がある方には、Windows環境でもbashのような操作ができるようになったと言えば分かりやすいでしょうか。
ただし、PowerShellの出力は単純な文字列ではなく、オブジェクトであるという点が、従来のシェルとの大きな違いです。Windows PowerShellは.NET Frameworkと統合されているので、Framework内のすべてのオブジェクトにアクセスできます。
自動化処理にWindows PowerShellを利用
難しい用語は抜きにして、話題を自動化に戻しますと、私の会社では、ちょっとした自動化処理には、Windows PowerShellを利用することにしました。
例えば、PowerShellスクリプトを定期タスクとしてスケジュールし、毎朝9時にデータベースから必要なデータを抽出し、これをHTMLメールに成形して集客状況レポートとして関係者に通知します。また、共有領域に置かれたExcelファイルの内容を3時間おきに解析して、XMLドキュメントに成形して、Webアプリケーションへ転送し、WebページとしてExcelの内容を社内で共有しています。修正や機能改善はスクリプトをメモ帳で編集するだけです。
この仕組みによって、従来は各社員が必要に応じて自分で調べなければならない情報が、定期的にメールやWebサーバーから取得できるようになりました。ユーザーが自分で取得するプル型の情報取得方法を、システムがユーザーに通知するプッシュ型へ変え、データへのアクセス方法を単純化したのです。
Windows PowerShellを利用するメリット
システム管理者やシステム開発者は、PowerShellの使い方を学ぶというちょっとした努力で、単純な業務プロセスが自動化され、ユーザーは煩わしい手作業処理から解放されます。
もちろん、管理者のルーチンワークも自動化できます。
恩恵を受けるユーザーの数が多いほど、組織としては大きな楽を得たことになります。
PowerShellの基本操作を覚えることで、Windows環境の管理作業や、システム環境と連携した小回りのきく自動化のツールが作成できます。
Exchange Server 2007、Exchange Server 2010、SharePoint Server 2010、IIS、ActiveDirectoryなど、PowerShellから管理するサーバー製品も増えてきています。
管理する対象が違っていても、PowerShellからの操作方法が統一されているので、あるサーバーの管理方法を覚えてしまえば、他のサーバーも似たような操作で管理することができます。
例えば、Active Directoryのユーザー一覧を取得するには、Get-ADUserですが、SharePoint Serverのユーザー一覧は Get-SPUserです。
Windows PowerShellは、これからのWindows管理ツールの主流となります。PowerShellの基本操作を修得するだけでも今後の管理業務を効率化し、大きな楽をするための1歩になります。
Windows PowerShell関連コースのご案内
プログラミング経験のないシステム管理者の方でもPowerShell操作ができるようになるための、Windows PowerShell 1日コースを提供しております。
Windowsシステム管理の自動化 ~Windows PowerShellを使用した効率的な管理~