KQL 脚本报告上次重新启动/重置端点设备(工作站/笔记本电脑)

问题描述 投票:0回答:1

我正在就 Microsoft Defender 中面临的挑战寻求帮助。在我的组织中,我们有许多存在漏洞的端点设备,我怀疑这些问题可能源于修补不充分或配置错误的组策略对象 (GPO) 设置阻止更新或重新启动。

为了进一步调查,我需要一个 KQL 脚本,它可以生成一个报告,显示每个端点设备上次重新启动或重置的时间,以及计算机名称和最后登录该设备的用户。

我尝试以不同的方式使用以下 KQL 脚本,但没有成功:

设备事件 |其中 ActionType ==“重新启动”或 ActionType ==“关闭” |按设备名称总结 LastReboot = max(EventTime)

尽管尝试了各种方法并通过在线论坛进行搜索,但我仍无法获得预期的结果。我不确定是否可以通过 Defender 检索此信息,或者是否有我应该探索的替代方法。

在我努力识别和解决这些问题时,任何指导或建议将不胜感激。谢谢您的协助!

最诚挚的问候, 塞尔吉奥

search automation report kql microsoft365-defender
1个回答
0
投票

要生成一份报告,显示每个端点设备上次重新启动或重置的时间,以及计算机名称和最后使用 Microsoft Defender 的 KQL 登录该设备的用户,您需要至少通过三种方式解决此问题。如果您有 SCCM 会更好地管理您的所有设备并生成报告。 Microsoft Defender 不直接提供此信息。您将结合使用 Windows 事件日志和 Active Directory 日志来收集所需的数据。

我认为我会提供一步一步的指南来做到这一点:

  1. 查询 Windows 事件日志以了解系统重新启动和关闭:

// 查询 Windows 事件日志以了解系统重启和关闭情况

 Event
    | where EventID in (12, 13, 1074, 1076, 6005, 6006) // Event IDs related to system reboots and shutdowns
    | summarize LastReboot = max(EventTime) by Computer
  1. 要从 Active Directory 日志生成用户登录查询:

//查询Active Directory日志以获取成功的用户登录

// 如果需要,将“Security”替换为适当的日志名称

 SecurityEvent
    | where EventID == 4624 // Event ID for successful logon
    | summarize LastLogin = max(TimeGenerated) by TargetUserName, ComputerName
    


    
  1. 加入结果以获得所需的报告:

    //加入结果即可得到最终报告

     | join kind=fullouter (
     // Query Windows Event Logs for system reboots and shutdowns
     Event
     | where EventID in (12, 13, 1074, 1076, 6005, 6006) // Event IDs related to system reboots and shutdowns
     | summarize LastReboot = max(EventTime) by Computer
    

    ) 在计算机上 |项目计算机、上次重启、上次登录、目标用户名

需要考虑隐私和安全影响,并确保您有适当的权限来访问这些日志并根据您的环境设置根据需要调整查询。

© www.soinside.com 2019 - 2024. All rights reserved.