我必須編寫一個腳本來嘗試ping設備,然後如果此設備對X天沒有響應......則會生成郵件,並且設備的X天計數器被重置。如何檢查IP是否對X天無響應然後發送郵件
什麼是最簡單的方法來實現這一目標?我正在考慮一個CSV/XML文件,當設備響應時最後一天存儲該文件,並且如果X天已過,則應該生成郵件並重置日期。
我是否錯過了解決此問題的明顯方法?我也在考慮做一個無限循環,我每運行一個ping命令,並且將所有設備保存在散列表中,但不知道運行無限循環的後果。
謝謝!
我必須編寫一個腳本來嘗試ping設備,然後如果此設備對X天沒有響應......則會生成郵件,並且設備的X天計數器被重置。如何檢查IP是否對X天無響應然後發送郵件
什麼是最簡單的方法來實現這一目標?我正在考慮一個CSV/XML文件,當設備響應時最後一天存儲該文件,並且如果X天已過,則應該生成郵件並重置日期。
我是否錯過了解決此問題的明顯方法?我也在考慮做一個無限循環,我每運行一個ping命令,並且將所有設備保存在散列表中,但不知道運行無限循環的後果。
謝謝!
如果您正確暫停腳本的執行(與Start-Sleep類似),則運行無限循環不成問題。唯一的缺點是在更改任何代碼時重新啓動腳本,但它也不是一個真正的問題。
因爲你會需要序列化你的散列表文件(可能是一個CSV or XML,但there are different ways),你也可以運行你的代碼,每隔一小時,其讀取每次啓動之前的數據Scheduled Task,執行ping設備,發送電子郵件,保存新的結果並停止。
如果您選擇人性化的文件格式,您還可以編輯文件以便輕鬆添加或刪除設備,除非您從其他位置填充散列表。
務必添加適當的日誌記錄和異常處理。另外,通過手動檢查Powershell所看到的內容,確保從文件中讀取your code handles DateTime and time differences correctly。
我會創建一個計劃任務,每晚運行並ping設備,然後記錄成功或失敗。每次運行時,都會記錄日誌中的失敗次數。如果這是X次,請發送電子郵件。每天都要這樣做直到成功,然後清除日誌文件以重新開始。
這是一個更適合網絡監控工具的任務,而不是本地長時間運行的腳本。 – alroc 2014-10-08 11:16:13