【コラム】

Windows XPスマートチューニング

221 Windows XP終了時にスクリプトを実行する

    阿久津良和  [2006/06/28]

    こんにちは、阿久津です。先日、ベータテスター向けにWindows Vista Build 5456.5が公開されました。早速、本連載のネタになりそうなものを探すため、インストールしようと思いましたが、なぜかエラーが多発して導入できません。Windows PEによるセットアップでエラーが発生し、何度か試して同ステップをクリアするとブートローダのエラーが発生するため、ほとほと困り果ててしまいました。Web上のニュースグループなどを色々と調べてみると、セットアップ時にキーボードレイアウトの設定を「Microsoft IME」から「US」に変更することで、前述の問題を回避できました。

    もちろんセットアップ完了後は、コントロールパネルにある「地域と言語のオプション」の<キーボードと言語>タブを開いて、<設定>ボタンで呼び出す「テキストサービスと入力言語画面」から<日本語 - Microsoft IME>を追加。既定の言語を同言語に変更して、日本語環境を復元しています。

    Build 5456.5では、Aeroデザインにフィットしたマウスポインタや、エクスプローラの表示形式にリストが復活するなど、使い勝手面でも改善箇所が見受けられました。しかし、改善にあたっていくつかの問題も発生し、アップグレードインストール環境下ではWindows Mailのデータが正常移行されない、キーボードの誤認識が改善されていないなど、安定性は増したもののベータ版であることに変わりはありません。8月前後に登場すると言われているRC版までに発見したレポートを送っていこうかと思います。

    それよりも興味深いのが、Office 2007 β2のオンライン版。「2007 Microsoft Office System Beta 2 Test Drive」は、同アプリケーションをインストールしていない環境でも、Webブラウザ経由でOffice 2007 β2を用いるというもの。具体的にはCitrixのMetaFrameを用いて、Windows XPのデスクトップをクライアントに転送しているらしく、接続時にはWindows XPのスタートアップジングルが奏でられます。

    Webブラウザを用いてオフィスアプリケーションを動かすという試みは以前から存在し、Ajaxの普及によりますます拍車がかかってきました。先日Googleが買収を発表したWebベースのアプリケーション「Writely」などが比較的有名です。もっともリモートデスクトップにも使われるMetaFrameの実装と、Ajaxを用いたWebアプリケーションの実装はベクトルが異なりますので比較することはできませんが、エンドユーザーからすれば実装云々よりも利便性の方が重要。コンピュータのポテンシャルやネットワークインフラなど、必ずしも環境が整っているといえない現状を踏まえると、面白い試みですが本格移行はまだまだ先の話となるでしょう。期待しつつも冷ややかな視点にいる筆者にとってはアンビバレントな気分です。

    閑話休題。Windows XPには起動時および終了時にスクリプトを実行する機能が備わっています。このタイミングで実行するコマンドとしては、場面に応じて様々なものがありますが、個人ユーザーであれば、システムイベントの内容をテキスト化して保存するなど、後片付け的に用いた方が便利でしょう。そこで今回は「終了時にスクリプトを実行する」と題して、シャットダウンメッセージを電子メールにて送信する手順を紹介しましょう。

    スクリプトの作成

    1. <スタート>メニュー→<ファイル名を指定して実行>と選択。
    2. 名前欄に半角で「notepad」と入力し、<OK>ボタンをクリック。
    3. 下記のサンプルをコピー&ペーストし、内容を保存する。

    サンプルスクリプト

    Set a = CreateObject("CDO.Message")
    a.From = "kaz@foo.bar.com"
    a.To = "kaz@bar.foo.com"
    a.Subject = "System Message"
    a.TextBody = "システムがシャットダウンしました。" & vbCrLf & Now
    a.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
    a.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "mail.foo.bar.com"
    a.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
    a.Configuration.Fields.Update
    a.Send

    スクリプトの有効化

    1. <スタート>メニュー→<ファイル名を指定して実行>と選択。
    2. 名前欄に半角で「gpedit.msc」と入力し、<OK>ボタンをクリック。
    3. グループポリシーエディタが起動したら、左ウィンドウで「コンピュータの構成」→「Windowsの設定」→「スクリプト」と開く。
    4. 右ウィンドウで<シャットダウン>をダブルクリックする。
    5. <追加>ボタンをクリックして開く、コモンダイアログに先ほど作成したファイルをドラッグ&ドロップ。
    6. ステップ5で操作したファイルを選択して<OK>ボタンをクリック。
    7. シャットダウンのプロパティダイアログの<OK>ボタンをクリックする。

    これで設定完了です。Windows XPをシャットダウンすると、「a.To」で定義されているメールアドレスに、「a.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver")」で定義したSMTPサーバを経由して電子メールが送信されます。また、「a.Subject」は電子メールの表題、「a.TextBody」は電子メールの本文となり、「vbCrLf」で改行を行ない、「Now」で現在時間を追加しました。それぞれの文字列は「&」で接続できますので、お好みで書き換えてください。スクリプトに関してはアイデア次第でどのようなものでも作成できますが、元となるスクリプトのサンプルとして、Microsoft TechNetスクリプトセンターを参考にすることをお勧めします。

    それでは、また次号でお会いしましょう。

    阿久津良和(Cactus)

    新着記事

    特設サイトの情報

      人気記事

      一覧

        新着記事

        特別企画

        マイナビニュースマガジン