Windows

用於啟動/關閉鎖定/解鎖的 Windows 事件程式碼

  • June 29, 2021

我正在嘗試建立一個事件 ID 列表,可用於確定機器何時關閉、啟動、鎖定和解鎖。到目前為止,我已經找到了 6 個似乎是最佳候選的事件 ID,但我想知道是否有更好的方法來確定它。

以下是我從“Power-Troubleshooter”、“User32”、“EventLog”和“Microsoft Windows 安全審核”來源中發現有用的事件 ID 列表(1、1074、6005、6006、4800、4801) . 這些來自 Windows 10 (v1511),目前 Windows 10 是我唯一的目標要求,因為這是所有客戶端電腦執行的。

事件 ID 列表

這是我建立的範例過濾器查詢

<QueryList>
 <Query Id="0" Path="System">
   <!-- Shutdown -->
   <Select Path="System">*[System[Provider[@Name='User32'] and (EventID=1074) and TimeCreated[@SystemTime >= '2017-11-28T00:00:00.0000000']]]</Select>

   <!-- Event Service Stop/Start -->
   <Select Path="System">*[System[Provider[@Name='eventlog'] and (EventID=6005 or EventID=6006) and TimeCreated[@SystemTime >= '2017-11-28T00:00:00.0000000']]]</Select>

   <!-- Startup -->
   <Select Path="System">*[System[Provider[@Name='Microsoft-Windows-Power-Troubleshooter'] and (EventID=1) and TimeCreated[@SystemTime >= '2017-11-28T00:00:00.0000000']]]</Select>

   <!-- Machine Lock/Unlock -->
   <Select Path="Security">*[System[Provider[@Name='Microsoft-Windows-Security-Auditing'] and (EventID=4800 or EventID=4801) and TimeCreated[@SystemTime >= '2017-11-28T00:00:00.0000000']]]</Select>
 </Query>
</QueryList>

我故意在查詢中將源分開,它們可以連接在一起,但這犧牲了 IMO 的可讀性。

我的問題是我是否可以使用一組更好的事件 ID 或更好的查詢?是否有我遺漏或加倍的事件 ID?

附加:

有時(例如,如果您在託管域中),您可能需要通過本地組策略編輯器 (gpedit) 啟用登錄和註銷事件。您可以按照以下步驟執行此操作:

  1. 打開Task Manager然後File> Run new task
  2. 鍵入gpedit.msc並檢查Create this task with administrative privileges.),然後點擊確定。
  3. 在本地組策略編輯器中,轉到Computer Configuration> Windows Settings> Security Settings> Advanced Audit Policy Configuration> System Audit Policies - Local Group Policy Object> Logon/Logoff
  4. 在側面板中,確保已將以下類別設置為Success and Failure。如果不是,請點兩下並啟用它們:

* Audit Other Login/Logoff Events(成功與失敗) * Audit Logon(成功與失敗) * Audit Logoff(成功與失敗)

參考您關於啟動和關閉事件 ID 的請求,我基於 Windows 10 機器製作了以下列表。要點是,根據關閉操作(計劃重啟、計劃關閉、意外關閉或 LSASS 程序崩潰),生成的事件會有所不同:

  • 1074 程序 Explorer.EXE 已代表使用者發起關閉電腦,原因如下: 其他(計劃外)
  • 6006 事件日誌服務已停止。
  • 109 核心電源管理器已啟動關閉轉換。
  • 13 作業系統在系統時間關閉
  • 20 上次關機的成功狀態為真。上次啟動的成功狀態為 true。
  • 12 作業系統在系統時間啟動
  • 6005 事件日誌服務已啟動。
  • 6013 系統正常執行時間為 10 秒。

為了清楚地了解這些不同的關機操作,我製作了下表。希望它會有所幫助。

關機事件

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