在任務規劃程式中使用事件篩選器尋找特定關鍵字

在任務規劃程式中使用事件篩選器尋找特定關鍵字

我希望您能提供協助,有時備份任務會失敗,通常是暫時的 VSS 錯誤,重新執行備份通常會成功完成。我想做的是使用任務調度程序中的事件過濾器來觸發備份重新啟動。我只針對 EventID (5635) 執行此操作沒有任何問題,但我正在運行許多備份作業,因此我需要更具體,這就是我遇到的障礙。

XML 事件資料如下所示:

<EventData>
<Data>
Backup job Server Backup 1 completed with warnings. Major Warning: One or more Hyper-V guests have reported errors that could result in an incomplete backup. Check each guest's event log and review any errors reported. Major Warning: Volume Shadow Copy Error 0x800423f4 - writer error: non retryable Destination: Local hard drive Bytes: 7191744309979 Start time: 01/01/2021 22:00:02 End time: 01/01/2021 22:12:25 Duration: 00:12:23.0745879 Job Execution ID: 1.679
</Data> 
</EventData>

我試圖讓事件過濾器拾取“伺服器備份 1”文本,並且我正在使用以下查詢:

<QueryList>
<Query Id="0" Path="Application">
<Select Path="Application">*[System[Provider[@Name='BackupAssist'] and (Level=3) and (EventID=5635) and *[EventData[Data[1]='Server Backup 1']]]]</Select>
</Query>
</QueryList>

但是,當事件被記錄時,這不會觸發。我懷疑這是通配符字串問題,但我不確定。

任何幫助都感激不盡,羅布

答案1

這個沒有實現,文件顯示限制並列出您可以使用的三個函數:

[...] 節點測試:僅支援節點名稱和 NCName 測試。支援選擇任意字元的“*”字元。 [...]

支援位置函數及其速記數組引用(僅在葉節點上)。
支援頻段功能。此函數對兩個整數參數執行位元 AND。如果按位元 AND 的結果不為零,則該函數計算結果為 true;否則,函數的計算結果為 false。
支援 timediff 函數。

您可以使用事件 ID 觸發器建立排程任務來啟動修復腳本,您可以在其中執行額外的驗證以確定腳本是否應進一步繼續。

相關內容