NonSoft

PC状況メール通知(PcEvMail)


 ダウンロード

PC使用状況通知(PC起動/PC終了/ログイン/ログアウト/指定ファイル更新時にログ出力およびメール送信)

※ ファイル監視関係のその他のツール、サンプルソースはこちらです。ファイル監視/フォルダ監視

ダウンロード  画面イメージ  マニュアル  使用方法  ライセンスキー 
====================================================================================================
【タイトル     】PC状況メール通知(PcEvMail)
【Version      】2.0.0.5
【ファイル     】PcEvMail.zip
【圧縮ファイルの中身】setup.exe、PcEvMail.msi、ReadMe.txt、Manual.html
【動作確認     】Windows7/XP/2000
【必要ソフト    】Microsoft .NET Framework Version 2.0(既にインストール済の可能性大)
【ソフト種別    】シェアウェア(評価期間有り:7日間)
【シェアウェア価格 】2,700円(本体価格<税抜き価格です>)
【シェアレジ作品番号】SR183222
【作者/著作権者  】のん
【作者への連絡先  】http://nonsoft.la.coocan.jp/
【最近の主な変更(1) 】SMTP over SSL(465)/TLS(587)セキュリティのSMTPサーバー対応
====================================================================================================
1.はじめに
  本プログラムをダウンロード頂きまして誠にありがとうございます。
  本プログラムはPC使用(稼動)状況をメールにより常に把握するためのツールです。PCの状況を常に
  キャッチしトラブルに素早く対応する目的でご使用頂けます。具体的にはPC起動、PC終了、ログイン、
  ログアウト、指定ファイル更新時にメールで通知(送信)します。同時にログファイルに履歴を保存します。
  指定ファイルの更新時に添付ファイルでメール送信する機能を備えていますので、PCのパフォーマンス
  状況(※)やセキュリティ状況(※)を遠隔で把握する事も出来るようになります。また、子供のパソコンの
  使用状況確認や遠方の方が元気にパソコンを使用しているかを確認する目的としても如何でしょうか。
  (※PCのパフォーマンス状況やセキュリティ状況を保存するツールは別途用意する必要があります。)

  <関連プログラム>
  フォルダ監視人(FoldCheckEvt.exe)
  フォルダ内のファイル更新(未更新)を監視し、更新通知(メール等)と指定プログラムの実行をするツール
  (FTP対応)です。監視ファイル新/旧の差分のみをメール通知や指定プログラムに渡す事が出来ます。
  ファイル監視人(FileCheckMsg.exe)
  ファイル監視人は指定のファイルまたはフォルダを監視し、ファイルが新規作成、更新、削除された際に
  メッセージ通知またはメール送信するプログラムです。(複数のファイルやフォルダを監視出来ます)
  指令メール実行(MissionMailExec.exe)
  指令メール実行は受信メールを監視し、メールタイトルで指定されたファイル(EXEやBAT等)を
  実行するプログラムです。本プログラムで添付するファイルを出力する仕組みとしてご使用頂けます。

2.注意事項
 (1)メール送信について
    メール送信エラーが発生した場合は3回(初回を含めて)のメール送信をリトライします。
    3回のメール送信が全てエラーになった場合はメール送信されませんので、予めご了承願います。

 (2)PC終了通知について
    PCのシャットダウンと同時にメール送信を行なうため、PC環境やスペックによってはメール送信
    が完了出来ない事が考えられます。予めご了承願います。
   (ちなみに、作者のテスト環境では、安定して問題無く送信出来ました。。。)

 (3)メール認証方法について
    本プログラムはPOP before SMTPとSMTP AUTHに対応しています。
    POP before SMTPはサーバへ2回接続するため効率が悪いく、殆どのプロバイダがSMTP AUTHを推奨し
    ていると思われる事から、より安定してメール送信する為にはSMTP AUTH(SMTP AUTH LOGIN)を使用し
    て頂く事を推奨します。

 (4)セキュリティソフトについて
    本プログラムがメール送信する際にセキュリティが遮断する可能性があります。
    メール送信が失敗する場合は、メールの設定の見直しとともにセキュリティソフトの設定を
    確認してください。

3.インストール/アンインストール方法
  本プログラムのsetup.exeを実行してインストールしてください。
  アンインストールはWindowsの「プログラムの追加と削除」で行なう事が出来ます。
  (本プログラムのsetup.exeからのアンインストールも可能) 

  (注意)
  Microsoft .NET Framework Version 2.0以上がインストールされている必要があります。
  (既にインストール済の可能性大)
  インストールされていない場合は「Microsoft .NET Framework Version 2.0 ダウンロード」で
  ネット検索してインストールしてください。

4.ご使用方法
  本プログラムをインストールするとデスクトップに「PC状況メール通知(PcEvMail)」の
  ショートカットが作成されます。そのショートカットを実行すると以下の画面が表示されます。
  各項目を入力し「設定」ボタン、「サービスの開始」ボタンを押してください。
  次回のPC起動以降は自動でサービスが開始されます。
 (1)PC起動通知
    パソコンを起動した事をお知らせするメールの送信有無を指定します。
 (2)PC終了通知
    パソコンをシャットダウンした事をお知らせするメールの送信有無を指定します。
 (3)ログイン通知
    ユーザがパソコンにログオンした事をお知らせするメールの送信有無を指定します。
 (4)ログアウト通知
    ユーザがパソコンからログアウトした事をお知らせするメールの送信有無を指定します。
 (5)ファイル更新通知
    指定のファイルが作成/更新された事をお知らせするメールの送信有無を指定します。
 (6)通知対象外ログインユーザ
    ログイン通知とログアウト通知の対象外ユーザ名を指定します。3ユーザまで指定出来ます。
    通知対象外ログインユーザがログインやログアウトしてもメール送信されません(ログ出力のみ)。
 (7)ファイルPATH(ファイル更新通知用)
    ファイル更新通知時に更新チェックするファイルのPATHを指定します。
    ファイルPATHの直接入力以外に参照ボタンやドラック&ドロップによるファイル指定が可能です。
 (8)メール添付有無(ファイル更新通知用ファイルPATH)
    ファイル更新通知時にファイルをメールに添付するかどうかを指定します。
    (注意)大きなファイルをメール添付するとネットワーク負荷になりますので注意してください。
 (9)PC起動安定時間(秒)
    PC起動後システムが安定するまでの時間(秒)を指定します。
    (注意)システムが安定する前にメール送信を行なってもエラーになる可能性があります。
 (10)PC状況確認間隔(秒)
    上記のPC状況を確認する時間間隔(秒)を指定します。
    (注意)小さい値を指定しますとPCのパフォーマンスに影響しますので注意してください。
 (11)メール認証方法
    メールを送信する時の認証方法を指定します。以下の認証方法に対応しています。
     ・POP before SMTP
     ・SMTP AUTH LOGIN
     ・SMTP AUTH CRAM-MD5
     ・SMTP AUTH PLAIN
 (12)メールPOPサーバ および ポート番号
    メール受信に使用するPOPサーバを指定します。
    メール認証方法に「POP before SMTP」を指定すると「メールPOPサーバ」と「ポート番号」の
    指定が必要になります。POPサーバへの接続を行ないますがメールの受信は行いませんので、
    ご安心ください。
 (13)メールSMTPサーバ および ポート番号
    メール送信に使用するSMTPサーバーを指定します。
 (14)メール認証ユーザ名
    POPサーバやSMTPサーバに接続する際に使用するユーザ名を指定します。
 (15)メール認証パスワード
    POPサーバやSMTPサーバに接続する際に使用するパスワードを指定します。
    暗号化して環境設定ファイルに保存しますので、ご安心ください。
 (16)送信元メールアドレス
    メールを送信する際の送信元メールアドレスを指定します。
    POPサーバおよびSMTPサーバ用のメールアドレスを指定してください。
 (17)送信先メールアドレス
    メールを送信する際の送信先メールアドレスを指定します。
    パソコン用のメールアドレスや携帯電話用のメールアドレスを指定する事が出来ます。
    携帯電話用のメールアドレスを指定する場合は「メール添付有無」のチェックを外してください。
 (18)ライセンスキー
    本プログラムはシェアウェアですのでライセンスキーが必要になります。
    評価期間はライセンスキー無しでご使用頂けます。
 (19)設定ボタン
    上記項目の入力内容を保存します。本プログラムのサービスが開始されている場合は保存と同時に
    適用されます。
 (20)サービス開始
    本プログラムのサービスを開始します。「スタート」→「コントロールパネル」→「管理ツール」→
    「サービス」でサービスを開始するのと同じ機能です。
 (21)サービス停止
    本プログラムのサービスを停止します。「スタート」→「コントロールパネル」→「管理ツール」→
    「サービス」でサービスを停止するのと同じ機能です。
 (22)マニュアル
    本プログラムのマニュアルを表示します。
 (23)PC状況ログフォルダ
    PC使用状況(PC起動/PC終了/ログイン/ログアウト/指定ファイル更新)の履歴ファイルを保存している
    フォルダを表示します。最大過去29日分の履歴をファイル保存しています。
 (24)エラーログフォルダ
    本プログラムのエラー発生状況の履歴ファイルを保存しているフォルダを表示します。
    最大過去29日分の履歴をファイル保存しています。

5.著作権
  本プログラムの全ての著作権は「のん」が所有しています。
  本プログラム一式を転載する場合は著作権所有者の許可が必要となります。
  (NonSoftの紹介リンクは問題ありませんので宜しくお願いします)
  また、著作権所有者が許可したサイトでのみダウンロードが可能となります。
  商用利用についての制限はありません。
  本プログラムを起動するパソコン一台につき1ライセンスが必要になります。

  本プログラムはシェアウェアです。評価期間(7日間)はライセンス無しで評価して頂けます。
  (注意1)評価期間に十分な評価をされた方のみシェアライセンス取得のお手続が出来ます。
  (注意2)シェアライセンス取得はVectorシェアレジでのお手続となりますが、
      準備が出来ていない場合は少々お待ちください。

  <シェアライセンスの取得方法>
  Vector(http://www.vector.co.jp/)でのシェアレジ(シェアレジ作品番号:SR183222) のお手続を
  お願いします。(URL:http://shop.vector.co.jp/service/servlet/NCart.Add?ITEM_NO=SR183222)
  ライセンスキーを取得されましたら、本プログラムの「ライセンスキー」項目に入力して「設定」
  ボタンを押してください。

6.免責事項
  本プログラムが原因による損害・問題に対し一切の責任を負いません。
  ご利用者の責任の範囲内でお使いください。

7.作者への問合せについて
  作者への問合せはメールのみとさせて頂きます。問合せ内容によっては回答出来ない場合もございますので
  予めご了承願います。また、作者不在時または問い合わせ数が多い場合など、回答に日数がかかる場合がご
  ざいますので予めご了承願います。

<画面イメージ>
PC状況メール通知(PcEvMail)(画面イメージ)

<PC状況メール通知(PcEvMail)ツールについての補足>
このツールは、WTSQuerySessionInformation を使用してログイン(ログオン)中のユーザ名を
取得しています。ここで重要なのがログイン(ログオン)中のユーザであって実行ユーザでは
無いというところです。本ツールはWindowsサービスとして実行するため、実行ユーザは
ローカルシステム(LocalSystem)になってしまいます。実行ユーザを取得する方法は、
System.Environment.UserName で簡単に取得出来るのですが、ログインユーザは簡単には
取得出来無いようでした。調査の結果、ログインユーザを取得する方法の1つに
WTSQuerySessionInformationというApiを使用する方法がありましたので、
今回はそれを使って実現しています。

WTSQuerySessionInformationのサンプルソースは以下で
海外のものを参考にさせて頂きました。

    Dim rtn As Integer
    Dim buf As Integer
    Dim cnt As Integer
    Dim num As Integer
    Dim dat As Byte()

    rtn = WTSQuerySessionInformation(0, 0, WTSInfoClass.WTSUserName, buf, cnt)

    If rtn Then
        num = StrLenA(lpBuffer)
        If num > 0 Then
            ReDim dat(lName)
            Call StrCopyA(dat, buf)
        End If
        WTSFreeMemory(buf)
    End If

PCの起動とシャットダウンの判断はWindowsのサービスとして実装する事により
実現しています。Windowsのサービスには OnStart や OnShutdown というイベントがあるため、
その判断は難しくありませんでした。他にもメールで通知するメリットがあるPC状態(イベント)は
ありそうなので機能追加して行こうと思います。インターネット時代は、やはり遠隔(メール等)で
何が出来るかがポイントなのかもしれません。

ちなみに、パソコン起動ログはタスク・ケジュール(スタート→コントロールパネル→タスク)に
ログ出力プログラムを登録する事で可能です。また、ログインログはスタートアップにログ出力
プログラムを登録する事で可能です。ログアウトログやシャットダウンログを考慮すると
今のところWindowsのサービスしか方法が見つかっていません。本当は、Windowsのサービスを
嫌がる方もいると思うのでタスクやスタートアップで実現したかったのですが。。。