以下是簡式過濾程式的用法範例:
配置動作,讓動作在裝置符合過濾需求時執行指令。例如,建立一個資料夾,裡面只包含頁面計數大於 10,000 的印表機。當受監控印表機的頁面計數超過 10,000 時,此印表機就會新增到此資料夾中。
只監控已安裝快閃裝置的印表機。例如,若某資料夾只包含已安裝快閃裝置的印表機,則受監控印表機中的快閃裝置移除後,該印表機也會從該資料夾中移除。當印表機無法符合過濾需求時,過濾程式會自動更新資料夾。
「等待時間:」選項可讓您延遲動作的執行,直到從資料夾中新增或移除裝置後達到指定時間時才執行動作。
您可以利用「作用時觸發」過濾程式,將動作設為只在條件式變成「作用中」時才執行指令。例如,若您正在監控「找不到送紙匣」事件,則當有人從受監控印表機移除送紙匣時,該印表機就會產生一個狀態為「作用中」的「找不到送紙匣」事件。「作用中」狀態符合過濾程式的條件式,所以會執行指定動作。更換送紙匣後,印表機會產生另一個狀態為「清除」的「找不到送紙匣」事件。「清除」狀態不符合過濾程式的條件式,所以不會執行動作。
選取「作用或清除時觸發」過濾程式,可將動作設為每當條件變成作用中或清除時執行。例如,您想利用該過濾程式記下所有的印表機夾紙記錄,以判斷清除夾紙所需的平均時間。發生夾紙時,印表機會產生一個狀態為「作用中」的事件。此事件符合過濾程式的條件式,所以會執行該動作。清除夾紙後,印表機會產生另一個狀態為「清除」的事件。此事件也符合過濾程式的條件式, 所以也會執行該動作。這時,記錄檔中會有兩行記錄,一行指出發生夾紙的時間,另一行指出清除夾紙的時間。
利用自訂過濾程式定義動作的執行方式。上傳 Script 檔或撰寫新的 Script 檔。MarkVision Messenger 提供一種很簡單定義過濾程式的 Script 語言。以下是一份完整的清單,列有可供自訂過濾程式使用的陳述式和條件式。
(條件式)
(條件式)
(條件式)
{ StatementList }
(條件式_1...條件式_n)
(條件式_1...條件式_n)
(鍵,值)
(鍵,值)
以下是內建「作用時觸發」過濾程式的 Script 表示法範例:
IfThen (EventDataIs("state", "ACTIVE")) Distribute條件式的作用是向事件詢問關鍵字為 state 的值。此關鍵字可以插入指令行和電子郵件訊息中。若條件式 為 True,則 陳述式會執行下一個陳述式。若關鍵字 (state) 的值符合給定的值 (ACTIVE),則 條件式為 True。下一個陳述式 會使指令執行。
以下是一個 Script 範例,此 Script 適用於延遲 30 秒的「作用時觸發」過濾程式動作:
{ WaitUntil (TimeIsAfter(30)) IfThen(EventDataIs("state", "ACTIVE")) Distribute }大括號 ({}) 的功用是將各陳述式集合在一個清單中。前一個範例不需要大括號 ({}),因為 和其後的陳述式視為同一個陳述式。
陳述式會使 Script 暫停,直到條件式為 True。達到指定的秒數後, 條件式才會檢查是否為真。若事件在 30 秒後仍在作用中, 陳述式就會執行指令。
以下是針對下列情況撰寫的內建「作用或清除時觸發」過濾程式的 Script 表示法:針對 3 號送紙匣選取「找不到送紙匣」事件;執行指令前有 20 分鐘的延遲;若條件式維持「作用中」,則每隔 20 分鐘就重複執行指令一次。
While (And(EventDataIs("state", "ACTIVE"), EventDataIs("location", "Tray 3"))) { WaitUntil(TimeIsAfter(1200)) IfThen(EventDataIs("state", "ACTIVE")) Distribute }在此範例中, 用來建立一個複合條件式。事件(針對 3 號送紙匣)為作用中時,才會進入或重複 While 迴圈。此迴圈內的程式碼與「作用時觸發」過濾程式的程式碼相同,唯一的差異就是 條件式設為等待 1200 秒(20 分鐘)。