iT邦幫忙

0

如何透過工作排成器捕捉關機事件,在關機前發送訊息通知?

各位大大好

小弟最近幫公司寫一個內部系統,需要架在一台 VM (Win10)上面讓他每天運行,但主管要求需要做有效監控,即「VM 如果關機被重開 or 無預警自動關機,需要發訊息通知」

目前自己設計的想法是:

  1. 透過「工作排程器」捕捉 6006 關機事件作為觸發機制,然後執行我自己寫的一個 .bat 腳本。
  2. 腳本會執行一個 Python 檔,會直接發送關機通知到 Skype 群組裡面,讓所有 IT 人員都能立即看見。

不過目前卡住的地方是,bat腳本直接執行測試沒問題,但在工作排程器上,雖然設定好捕捉關機事件,但是當我重新開機的時候,排程器好像都不會執行這項工作,想請問各位前輩,這是為甚麼呢?或者有沒有更好的做法是可以偵測關機事件的發生?

自己也附上我在工作排程器上的設定圖檔:
https://ithelp.ithome.com.tw/upload/images/20210701/20110872KbC0QDbeEE.png
https://ithelp.ithome.com.tw/upload/images/20210701/20110872mCXoaVcH2z.pnghttps://ithelp.ithome.com.tw/upload/images/20210701/20110872gTdDoPDIGR.pnghttps://ithelp.ithome.com.tw/upload/images/20210701/20110872C62Elkn9hE.png

windows關機前執行指令碼設定與關機bat自動傳送郵件指令碼模板
開始——執行——gpedit.msc.
策略——計算機配置——Windows設定——指令碼(啟動/關機)
右擊"關機"
新增——瀏覽:選擇指令碼確定;
完成設定,重啟測試。

工作排程我找半天沒有關機事件選擇器
印象中開關機事件除了工作排程可以設定
另外一個地方就是 GPEDIT 本機原則設定這裡可以處理
huahualiu iT邦新手 4 級 ‧ 2021-07-02 11:55:02 檢舉
謝謝回覆
關機事件是在第二章圖的地方進行設定的
他沒有選項,是直接設定系統事件 6006
之所以會這樣設定是因為 在【電腦管理】>【事件檢視器】中
也是透過一樣的系統6006事件
可以篩選出 電腦的關機時間

所以我想兩者應該是相通的吧XD

1 個回答

1
國際 IT 人
iT邦高手 1 級 ‧ 2021-07-01 15:23:40
最佳解答

你的權限是否掛到最高等級,第一張圖的安全性選項建議最好還是用帳密輸入進去

看更多先前的回應...收起先前的回應...
huahualiu iT邦新手 4 級 ‧ 2021-07-01 16:23:48 檢舉

我的登入使用者
本身就已經在 Administrators 群組裡面了
請問這樣還沒辦法是嗎?

raytracy iT邦大神 1 級 ‧ 2021-07-01 18:23:31 檢舉

在新一代的 Windows 裡面, 加入 Administrators 群組的成員, 並沒有拿到絕對的最高權限, 最高權限是要以管理群身分再加上啟動程式前的帳密驗證, 兩者一起才會生效...

而且這個權限是啟動完程式之後就自動降級, 下次要用, 必須再給一次帳密...所以 Task Scheduler 裡面, 才會有這樣一個項目, 讓你在執行的時候, 自動幫你輸入帳密的 Token 取得最高權限....

huahualiu iT邦新手 4 級 ‧ 2021-07-02 08:29:33 檢舉

raytracy
感恩大大回覆
請問您的意思是,加入Admin 群組卻不代表具備最高權限,即使我在勾選第一張圖的「以最高權限執行」,還是得輸入賬密驗證,才會真的以最高權限執行是嗎 XD

感覺也太不直覺了/images/emoticon/emoticon02.gif

你想像,Administrators 群組就像公司的 IT 群組,在該群組裡的人就一定會有 IT 所有權限嗎!"Administrator" 這個身分就像 "資訊主管",只有這個身分才一定是完全權限,所以你在安全性選項要輸入帳秘的原因在此,系統要知道你是真的被授權的人

我要發表回答

立即登入回答