Windows系统自动记录开关机时间,可通过事件查看器(ID 6005/6006/6008/1074)、systeminfo命令、PowerShell、TurnedOnTimesView工具或组策略脚本五种方法查询。

如果您希望了解电脑在何时开机或关机,系统本身已自动记录这些关键操作事件。Windows 通过事件日志持续追踪服务启动与终止行为,其中特定事件 ID 直接对应开关机动作。以下是多种可立即执行的查询方法:
一、通过事件查看器筛选系统日志
事件查看器是 Windows 内置的权威日志管理工具,能完整保留每次开机(事件ID 6005)、正常关机(6006)、意外断电(6008)及计划重启(1074)的精确时间戳,所有记录均带时区与毫秒级精度。
1、按 Win + R 打开“运行”对话框,输入 eventvwr.msc 并回车。
2、在左侧树形菜单中依次展开 Windows 日志 → 系统。
3、在右侧操作面板点击 筛选当前日志。
4、在“事件ID”输入框中键入:6005,6006,6008,1074(英文逗号分隔)。
5、点击“确定”,列表即刻显示全部匹配事件,每条含 TimeCreated(创建时间) 与 Message(简要说明) 字段。
二、使用命令提示符快速获取最近一次开机时间
该方式绕过图形界面,直接调用系统底层服务状态,返回当前会话的启动时刻,响应快、无依赖,适合远程桌面或低资源环境。
1、右键“开始”按钮,选择 终端(管理员) 或 命令提示符(管理员)。
2、输入以下命令并回车:systeminfo | find "系统启动时间"。
3、输出结果中“系统启动时间”后所跟的日期与时间,即为本次开机的准确起始点。
三、利用 PowerShell 提取结构化开关机记录
PowerShell 支持对日志进行实时过滤、排序与格式化输出,可一次性导出带时间倒序、ID标识和消息摘要的可读表格,避免人工翻查。
1、以管理员身份启动 Windows PowerShell 或 终端。
2、粘贴并执行以下命令:Get-WinEvent -LogName System | Where-Object {$_.Id -eq 6005 -or $_.Id -eq 6006 -or $_.Id -eq 6008 -or $_.Id -eq 1074} | Select-Object TimeCreated, Id, Message | Sort-Object TimeCreated -Descending | Format-Table -AutoSize。
3、屏幕将滚动显示完整列表,TimeCreated 列为本地时间,Id 列明确标注事件类型。
四、借助第三方轻量工具自动解析并可视化日志
TurnedOnTimesView 等 NirSoft 工具无需安装、免注册,直接读取二进制事件日志文件,跳过手动筛选步骤,生成带颜色标记与导出功能的时间轴视图。
1、访问 NirSoft 官网下载 TurnedOnTimesView.zip,解压后运行 TurnedOnTimesView.exe(无需安装)。
2、程序自动扫描并列出所有 6005/6006/6008/1074 事件,每行含开机/关机类型、日期、时间、持续时长及原因代码。
3、点击列标题可排序,右键支持复制单行或导出为 CSV/HTML 文件供存档。
五、启用开机/关机自动记录批处理脚本(长期留存)
系统默认日志可能被覆盖或清理,通过组策略绑定启动与关机脚本,可强制将每次操作写入指定文本文件,实现不可篡改的本地留痕。
1、新建记事本,输入以下内容并保存为 C:\logon.bat:
@echo off >> C:\bootlog.txt & echo [%date% %time:~0,-3%] 开机 - %username% >> C:\bootlog.txt。
2、再新建记事本,输入以下内容并保存为 C:\logoff.bat:
@echo off >> C:\bootlog.txt & echo [%date% %time:~0,-3%] 关机 - %username% >> C:\bootlog.txt。
3、按 Win + R 输入 gpedit.msc,导航至 计算机配置 → Windows 设置 → 脚本(启动/关机)。
4、双击“启动”,点击“添加”,浏览并选中 C:\logon.bat;同理在“关机”中添加 C:\logoff.bat。










