それもChatGPT!?と驚いた使用方法を教えてください

停電のお知らせメール送信ができるバッチファイルの作り方を教えて下さい。
工場で、停電すると自動復帰しない機械があり、勤務していない時に停電があると困ります。停電した時にお知らせメールが受信ができれば便利だと思います。
ネット環境は、ノートパソコン
 windows10 無線ルーター 共に電源に繋がっていて、常時つけっぱなしです。
私はプログラム出来ないのですが、バッチファイルの実行はできると思います。バッチファイルに限らず、アプリやソフトがありましたら教えて下さい。
素人の考えですが、下記の方法はどうでしょうか?
1.コンセントからノートパソコンへ電気供給が止まったら、バッチファイル実行 
2.smailなどで指定メール先へ"停電"とメールの自動送信
3.タスクスケジューラで自動実行指示

バッチファイルのプログラムを教えて下さい。お願いいたします。

A 回答 (5件)

powershell を使った方法を紹介します。


動作確認していませんので、
多少修正の必要があるかもしれません。

①powershellスクリプト「c:\test001\powercheckmail.ps1」を作成します。
以下中身です。
if ((Get-CimInstance win32_battery).batterystatus -ne 2){
Send-MailMessage -From 'User01 <user01@fabrikam.com>' -To 'User02 <user02@fabrikam.com>' -Subject 'Test mail'
}

②バッチファイル「c:\test001\launch.cmd」を作成します。
以下中身です。
pushd %~dp0
powershell -NoProfile -ExecutionPolicy Unrestricted "./powercheckmail.ps1"
pause > nul
exit

③タスクスケジューラーで「c:\test001\launch.cmd」が5分毎に自動実行されるような設定を行います。

以下参考にしたページです。
Use PowerShell to Detect Power State and to Set Power Plan
https://devblogs.microsoft.com/scripting/use-pow …
Send-MailMessage
https://docs.microsoft.com/en-us/powershell/modu …
https://docs.microsoft.com/en-us/powershell/modu …
    • good
    • 3
この回答へのお礼

助かりました

Gen_bamboo 様

迅速なご対応どうも有難うございます。大変参考になりました。初めて、教えてgooを利用しました。専門の方からの助言は必須ですね。お時間割いて下さり申し訳ございません。
試してみます!

お礼日時:2019/12/16 06:05

No.2&4です。


> ノートパソコンは無線でポケットWiFiに繋がっています。
この構成ならノートパソコンは携帯キャリア経由でインターネットに直結しているので社内の停電に巻き込まれる恐れはないですね。No.4に書いた1のパターンになるので問題ないです。あとはメール送信時に送るメールサーバーをキャリアのメールサーバーにしてあれば万全でしょう。
もちろん携帯キャリアを巻き込むような大規模停電だと無理ですが、それは連絡メールなどなくても分かるでしょうし。
    • good
    • 2
この回答へのお礼

ありがとう

ご丁寧に有難うございます。

お礼日時:2019/12/16 12:07

No.2です。

No.2で『その先のインターネット回線まで』という書き方をしているのは工場の規模とか社内ネットワークの構成が分からないからです。
No.3のリンクにあるような携帯電話網に直接繋がった回線を用意すればメール送信できるでしょうが、社内ネットワークを通して送るなら少なくとも工場内の経路上の中継機器は全てUPSで保護されていないとインターネットに繋がりません。最寄りの無線ルーターだけUPSを付けてもダメなのです。

なので解法はとりあえず3つです。
1. No.3のリンク先にあるような直接外部に繋がった通信機能を作る
2. クラウドなど停電範囲外からウォッチドッグする(No.2に記載の方法)
3. 社内ネットワークから外部へ繋がる機能を一定時間停電から保護する
どれを選ぶにせよ単にプログラムを作るレベルではすみません。
    • good
    • 3
この回答へのお礼

助かりました

rinkun 様

お詳しく色々と教えて頂き、どうも有難うございました。ノートパソコンは無線でポケットWiFiに繋がっています。電源が切れても数時間は大丈夫だと思いますが、その先のことは考えていませんでした。おそらく遠方のシステム会社経由で繋がっていてると思います。工場が離れの為、社内ネットワーク外だと思います。
rinkun様の言われる、常に通信して途切れたらわかる仕組みや、途中経路の電源が保たれているのかなど確認しなければならないと思いました。
お時間頂きまして、申し訳ございません。大変助かりました。配線設置、機器設置は高額です。今の時代ソフトで解決できる知識を皆様を見習いまして、付けていこうと思います。

お礼日時:2019/12/16 06:36

No.2さんの方法がベストですね。


AWSさんかAzureさんかGCPさんに相談するといいと思います。

別案としては、
UPSを使用して無線ルーターだけは停電時もしばらく稼働させ続ける方法がありますね。
この方法だとNo.1の方法が使えます。
そうする場合、ノートパソコンはバッテリーで動作して
無線ルーターはUPSで動作している状態の期間内に
バッチファイルが機能する必要がありますね。

こういう商品もあるみたいですね。
停電監視用ショートメール自動通報装置
https://www.musen-yobidasi.com/teiden-mail2/inde …
    • good
    • 2
この回答へのお礼

ありがとう

ご丁寧に有難うございます

お礼日時:2019/12/16 12:08

プログラムは良いですが、まず実際に可能か確認しましょう。


無線ルーターおよびネットワーク回線が停電でも動作するようにできますか?
ノートパソコンは停電してもしばらくはバッテリーで動作できますが、無線ルーターは普通は停電したら即座に止まります。無線ルーターは無停電電源装置で稼働を続けるとしても、その先のインターネット回線までも稼働できるようにしていないとメール送信しても届きませんよ。お使いのインターネット回線は停電時でも切れないですか。

一つの解法は、逆にいつも定期的にメールを送っておいて届かなくなったら異常と判断する方法ですが、普通に担当者のスマホにメールで送ってたら気が狂いそうですね。
クラウド上など停電の影響を受けないサイトでメールを受信するサーバープログラムを動かしておいて、メールが途絶えたらそこから警報メールを担当者に送るような構成が妥当でしょうね。何にせよクラウド上のサーバーとか借りなければいけないので単純にプログラムを書いて終わりとはいきませんけど。
    • good
    • 2
この回答へのお礼

ありがとう

ご丁寧に有難うございます

お礼日時:2019/12/16 12:09

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報