Windows

在任務計劃程序中使用事件過濾器查找特定關鍵字

  • January 5, 2021

希望您能幫到您,有時備份任務會失敗,通常是短暫的 VSS 錯誤,重新執行備份通常會成功完成。我想要做的是使用 Task Schdeuler 中的事件過濾器來觸發備份重新啟動。僅針對 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>

但是,這不會在記錄事件時觸發。我懷疑這是萬用字元字元串問題,但我不確定。

任何幫助都感激地收到了 Rob

這沒有實現,文件向您展示了限制並列出了您可以使用的三個功能:

$$ … $$ 節點測試:僅支持節點名稱和 NCName 測試。支持選擇任何字元的“*”字元。 $$ … $$ 支持位置函式及其簡寫數組引用(僅在葉節點上)。

支持波段功能。該函式對兩個整數參數執行按位與。如果按位與的結果非零,則函式計算結果為真;否則,該函式的計算結果為假。

支持 timediff 函式。

$$ … $$

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

引用自:https://serverfault.com/questions/1048546