SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

特集記事

スクリプトとタスクによるサーバ監視の自動化

WSH/WMI/CDOを組み合わせてサーバの状況をメールで通知する


  • このエントリーをはてなブックマークに追加

Webサーバやファイルサーバなどを運用していると、知らぬ間にハードディスクの容量が足りなくなっていることがあります。そこで本稿では、スクリプトを利用して、サーバの状況をメール通知する方法を紹介します。専用のアプリケーションを用意することなく、サーバを監視できるため便利です

  • このエントリーをはてなブックマークに追加

はじめに

 Webサーバやファイルサーバなどの運用を行っていると、知らぬ間にハードディスクの容量が足りなくなってしまうことがありします。

 そこで本稿では、スクリプトを利用して、サーバの状況をメール通知する方法を紹介します。専用のアプリケーションを用意することなく、サーバを監視できるため便利です。

対象読者

 サーバ管理者。

必要な環境

  • Windowsのみ
  • Visual Studio 2005(C#のサンプルを利用する場合)

オーバーストーリー

 Windowsには、簡単なプログラミングを行うためのWSH(Windows Script Host)という機能があり、VBS(Visual Basic Script)やJS(JavaScript)で簡単にスクリプトを組み、実行できるようになっています。

 またWindowsには、WMI(Windows Management Instrumentation)というWindows自身を管理するためのフレームワークが搭載されています。このWMIは、COMインターフェイス経由でアクセスできます。

 何かを自動通知させるのに一番簡単な方法として、メール機能が挙げられるでしょう。CDO(Collaboration Data Objects)という機能もCOMインターフェイス経由でアクセスします。

 これらの機能を組み合わせることにより、いろいろなシステム監視を自動化することができるでしょう。

 まず、WSHとはどのようなものかを簡単に見ていきます。

WSHの簡単な例

 WSHは、先ほども述べたようにVBSやJSでプログラムを書くことができます。今回は一番身近なVBSを利用したいと思います。

 下記のソースを「hello.vbs」という名前で保存してください。今回は「c:\Codezine」というフォルダで作業を行いたいと思います。

Hello WSH
Wscript.Echo "Hello WSH"
vbsファイルの作成
vbsファイルの作成

 次にコマンドラインを起動して「c:\codezine」フォルダに移動します。

コマンドラインの起動
コマンドラインの起動

 さて、この状態で「hello」とタイプするだけで起動することができます。

Hello WSHの起動
Hello WSHの起動

 いかがでしょうか。このようにWScript.Echoコマンドで、コンソールにメッセージを表示することができました。

 このようにvbsのファイルは、ファイル名(拡張子を除く)を指定して実行できるのですが、実際には「c:\windows\system32\cscript.exe」により起動されています。

cscript.exe
cscript.exe

 このcscriptには兄弟がいて、wscriptという実行ファイルも存在します。wscriptで先ほどの「hello.vbs」を起動してみましょう。

wscriptでの起動
wscriptでの起動

 このようにコンソールベースがcscript、ウィンドウベースがwscriptと使い分けられています。

 またWindowsのx64環境下では、COMの呼び出しが32bitアプリケーションからの場合には32bitのみ、64bitからは64bitのみと制限されてしまうので、32bit版を適宜呼び出す必要があります。

 今回のWMIは64bitで問題ありませんが、メール送信が32bit専用ですので32bit版のcscriptを利用するようにしてください。

x64での32bit版cscript
x64での32bit版cscript

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
WMIを呼び出してみよう

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
特集記事連載記事一覧

もっと読む

この記事の著者

中 博俊(ナカ ヒロトシ)

大阪でフリーのソフトウェアエンジニア兼テクニカルライターとして日々新技術で楽しんでいる。MSMVP for C# ブログ:http://blogs.wankuma.com/naka/

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/501 2008/08/21 21:10

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング