通过使用这些选项,shutdown 命令可以灵活地实现系统关机、重启、注销、休眠、强制关闭应用程序等操作,并可根据需要记录关机原因、指定目标计算机或进入高级启动菜单。shutdown 命令 新功能 加参数 重启进入BIOS 加参数 重启进入启动选项

shutdown.exe 完整版本演进史

总演进主线

shutdown.exe 起源于 Windows 2000 资源工具包,Windows Server 2003/XP 正式内置进 System32;XP/Vista 完成远程关机、关机审计、休眠基础能力定型;Win8/8.1 新增快速启动、高级启动菜单;Win10 扩充固件跳转、应用自动恢复、意外关机标记;Win11 完整兼容全部参数,底层 API 持续小幅优化,无废弃旧语法。
 
整体演进脉络:外置工具 → 系统内置基础运维工具 → 电源 / 启动深度一体化管控工具

阶段 1:初代外置工具 — Windows 2000(2000)

核心特征

  1. 不随系统预装,仅收录在 Windows 2000 Resource Kit 资源工具包,需手动复制到 System32 才能使用Microsoft ...。
  2. 仅极简基础参数:/s关机、/r重启、/t倒计时、/m远程主机、/a取消关机。
  3. 底层仅调用基础 ExitWindowsEx,无远程 RPC 权限校验、无关机原因日志、无休眠、无 GUI 界面。
  4. /f 强制关闭,程序无响应时关机流程会卡死;无事件跟踪审计能力。
  5. /l 注销、无注释 /c、无任何电源管理扩展能力。

定位

仅机房管理员临时远程重启服务器,普通用户无使用场景。

阶段 2:系统内置基础成型版 — Windows XP / Server 2003(2001/2003)

重大升级(工具正式固化为系统原生程序)

  1. 永久内置 %windir%\System32\shutdown.exe,开箱即用,无需额外安装工具包。
  2. 新增全套运维核心参数,奠定基础语法框架:
    • /i:远程批量关机图形 GUI(必须首参数规则确立)
    • /l:本地注销,禁止搭配远程/m
    • /f:强制终止无响应程序
    • /c "文本":关机弹窗注释(上限 3072 字符,后续压缩至 512)
    • /h:休眠本地计算机,依赖 hiberfil.sys 休眠文件
    • /p:无倒计时瞬时关机
    • /d [p|u:]xx:yy + 关机事件跟踪器(Shutdown Event Tracker),记录计划内 / 意外关机原因,写入系统事件日志,内置完整原因编码对照表(截图内编码体系诞生于此)
  3. 底层 API 升级为 InitiateSystemShutdownEx,原生支持远程 RPC 通信、关机原因结构体、强制进程终止标记Microsoft ...。
  4. 远程关机依赖 Remote Registry 服务、135/445 端口 RPC 通信机制定型。
  5. 新增逻辑:/t > 0 时自动隐含 /f 强制关闭,沿用至今。

短板

无快速启动、无固件跳转、无高级启动菜单、无开机自动恢复应用功能。

阶段 3:功能完善稳定基准版 — Windows Vista / Win7(2006/2009)

新增关键能力(企业工作站场景优化)

  1. 新增 /g 参数:重启后自动恢复已注册前台应用程序,适配办公断点续用场景。
  2. 加固关机审计:/d 原因码分类细化,区分硬件、系统更新、安全故障、应用维护等完整分类(截图全部原因文本在此版本补齐)。
  3. 底层电源管理对接 PowrProf.dll,休眠 / 关机流程适配 ACPI 多代主板,修复老设备休眠断电异常。
  4. 远程 GUI /i 支持批量多选多台主机,批量下发关机任务,域运维标准化。
  5. 注释 /c 字符上限由 3072 压缩至 512 字符,匹配弹窗显示限制。
  6. 完整保留 XP 全部参数,100% 向下兼容旧批处理脚本。

无新增参数:无混合快速启动、无 /o/fw/sg/e

阶段 4:电源架构革新扩容 — Windows 8 / Win8.1(2012–2013)

两大标志性新增,适配现代快速启动体系

  1. /hybrid 混合关机参数,必须搭配 /s 使用,底层新增 EWX_HYBRID_SHUTDOWN API 标志,实现「用户会话销毁 + 内核休眠」快速启动机制,仅客户端系统生效,服务器忽略该参数Microsoft ...。
  2. /o 参数:重启后跳转高级启动选项菜单(安全模式、WinRE 修复环境),强制约束必须搭配 /r
  3. 优化休眠 /h 底层逻辑,支持 SSD 休眠文件读写优化,缩短休眠唤醒耗时。
  4. 调整 /s 定义为「完整关机」,区分传统冷关机与混合快速关机。
  5. 远程 RPC 通信安全加固,增加管理员权限令牌校验,拦截低权限账号远程关机。

阶段 5:现代完整功能集定型 — Windows 10(2015–2022)

截图内全部参数在此版本补齐,是当前 Win11 兼容基准

  1. 新增 /sg:关机版本的应用自动恢复,区别于 /g(重启版),关机后下次开机自动登录锁定用户并恢复软件,依赖「自动重启登录」系统开关Microsoft ...。
  2. 新增 /fw:重启直接跳转 BIOS/UEFI 固件界面,修改 BCD 一次性启动项,硬件运维、固件升级专用参数。
  3. 新增 /e:标记本次关机为「意外故障关闭」,写入系统崩溃审计日志,服务器故障溯源专用。
  4. 新增辅助标记 /soft(软关机):等待应用主动关闭,不强制杀进程,适配更新部署场景。
  5. /t 超时上限提升至 315360000 秒(10 年),旧版 XP 上限仅 99999 秒。
  6. 底层扩展 API 支持自动登录、BCD 启动项修改、固件跳转逻辑;远程关机防火墙规则内置到系统高级规则集。
  7. 修复混合关机 /hybrid 多显示器休眠渲染 bug。

阶段 6:兼容维护期 — Windows 11(2021 至今,2026 现行)

当前状态

  1. 完整继承 Win10 全部参数、语法、原因编码体系,截图内所有用法、开关、示例原生兼容,无任何旧指令删除、语法修改。
  2. moderndui 现代化 UI 适配:倒计时弹窗圆角、亚克力界面,底层关机弹窗渲染管线切换 Direct2D,但命令行逻辑无改动。
  3. 小幅安全加固:
    • 拦截未提升权限执行远程关机,强制弹出 UAC 管理员授权;
    • 限制匿名 RPC 远程关机,必须带有效管理员账号令牌;
    • /fw 固件跳转增加安全校验,防止恶意脚本频繁篡改启动项。
  4. 底层电源驱动适配 NVMe、USB4、ARM64 设备,优化混合休眠文件写入性能。
  5. 无新增任何主功能参数,仅做硬件兼容、安全补丁维护,架构完全冻结不再扩展新业务逻辑。
  6. 服务器版 Windows Server 2022/2025 同步保持参数兼容,但禁用 /hybrid 快速启动。

分维度演进对比速查表

1. 关键参数引入时间线

参数 引入系统版本 核心用途
/s /r /t /m /a Win2000(资源包) 基础远程开关机
/i /l /f /c /h /p /d XP/Server2003 GUI、注销、强制、休眠、关机审计
/g Vista/Win7 重启恢复应用
/hybrid /o Win8/8.1 快速启动、高级修复菜单
/sg /fw /e /soft Win10 关机恢复应用、直进 BIOS、意外故障标记、软关机

2. 底层 API 架构演进

  1. Win2000:仅 ExitWindowsEx,无远程、无审计
  2. XP 起:核心 InitiateSystemShutdownEx,新增关机原因结构体、RPC 远程通信
  3. Win8:新增 EWX_HYBRID_SHUTDOWN 混合关机内核标志
  4. Win10:扩展 BCD 启动项 API、自动登录恢复应用注册表读写接口
  5. Win11:仅电源驱动、安全权限校验逻辑微调,上层 API 无改动

3. 战略定位演进主线

  1. Win2000:外置运维小工具,仅机房服务器远程重启
  2. XP/Vista/Win7:全场景系统内置工具,兼顾个人定时关机、企业域批量运维、关机故障审计
  3. Win8~Win11:电源 + 启动一体化管控工具,深度绑定快速启动、UEFI 固件、系统修复、应用断点恢复,同时保留全部传统运维语法兼容旧脚本

4. 核心演进变革总结

  1. XP 是里程碑:工具从外置资源包转为系统原生,远程、审计、休眠、GUI 全套基础功能一次性落地;
  2. Win8 新增电源革新能力:混合快速启动、高级修复启动菜单,改变 Windows 关机底层电源逻辑;
  3. Win10 补齐截图全部参数:固件跳转、关机恢复应用、意外故障标记等现代运维参数全部上线,功能达到顶峰;
  4. Win11 仅兼容维护:不再新增功能,完整向下兼容 XP 以来所有批处理脚本,底层仅做硬件与安全适配;
  5. 关机原因编码体系自 XP 定型,截图内完整原因对照表 20 余年无修改,审计日志格式跨系统完全通用。

PixPin_2026-07-14_21-28-23

shutdown.exe 完整底层原理

一、整体架构分层

shutdown.exe 是用户态控制台二进制程序,运行依赖 Windows 内核、服务、COM、Win32 电源管理 API,整体分为四层执行链路:
plaintext
命令行参数解析层 → 本地/远程IPC通信层 → Win32电源/会话管理API层 → 内核电源/会话/文件系统驱动层

基础运行依赖

  1. 核心系统服务:User32.dllPowrProf.dllAdvapi32.dllwinsta.dllremote registry(远程关机必需)
  2. 权限要求:本地关机需要交互式用户权限;远程关机、强制关闭进程、记录关机原因需要管理员权限;休眠需要开启系统休眠文件支持。
  3. 进程模型:单次执行独立进程,发送关机指令后进程立即退出,实际关机动作由系统服务执行。

二、第一层:命令行参数解析层(程序入口)

  1. 读取完整命令行字符串,区分主行为参数/s /r /l /h /i 等,互斥,仅允许一个)与辅助参数(/t /f /m /d /c
  2. 语法校验规则(截图内硬性约束底层实现):
    • /i 必须是第一个参数,否则直接打印帮助窗口;
    • /l 注销逻辑会拦截 /m/d,检测到直接报错;
    • /hybrid 强制校验必须搭配 /s,否则参数无效;
    • /o 强制校验必须搭配 /r
    • /z 自定义注释、/d 原因码做格式校验(xx<256、yy<65536);
    • /t 数值范围校验:0 ~ 315360000,超出范围打印帮助。
  3. 构建全局执行上下文对象:包含目标主机名、倒计时、强制标记、关机原因编码、注释文本、UI 渲染类型(GUI / 静默)。
  4. 参数校验失败:直接调用内部打印函数输出截图完整帮助文本,进程退出。

三、第二层:本地 / 远程 IPC 通信分发层

分支 1:本地操作(无 /m \\计算机名

上下文标记为本地会话,直接调用本机 Win32 API。

分支 2:远程操作(带 /m \\host

底层依赖 RPC + Remote Registry 远程注册表服务,通信流程:
  1. 建立 SMB/RPC 管道连接远程主机 HKLM\RemoteRegistry
  2. 校验当前账号是否拥有远程 SeRemoteShutdownPrivilege 权限;
  3. 将完整关机参数序列化,通过 RPC 发送至远程 winlogon.exe 会话管理进程;
  4. 远程主机收到指令后,在本地复现整套关机执行逻辑;
  5. 通信失败(防火墙拦截、权限不足、服务未启动)直接抛出错误返回控制台。
远程关机前置底层依赖:远程主机开启 Remote Registry 服务、防火墙放行远程管理规则、当前账号属于远程管理员组。

四、第三层:Win32 核心 API 执行层(各功能底层调用)

1. 注销 /l

核心 API:ExitWindowsEx(EWX_LOGOFF, 0)
  • 通知 winlogon.exe 销毁当前用户会话;
  • 释放桌面、用户进程、注册表用户配置单元;
  • 无电源操作,仅销毁登录会话,因此不支持远程、关机原因记录。

2. 关机 / 重启 /s /r /sg /g

统一入口 API:InitiateSystemShutdownEx(PowrProf.dll 电源管理核心函数)
 
函数入参包含:
  • 目标计算机名(本地 / 远程)
  • 倒计时秒数 Timeout
  • 弹窗注释字符串 lpMessage
  • 强制关闭标记 ForceAppsClosed(对应 /f/t>0 自动置为 TRUE)
  • 关机原因结构体 ShutdownReason(对应 /d p:xx:yy,写入系统事件日志)

细分行为差异底层逻辑

参数 API 附加行为
/s EWX_SHUTDOWN:关闭所有会话,内核停止,切断电源
/r EWX_REBOOT:关机完成后发送内核重启指令
/sg 关机时标记 AUTO_REBOOT_LOGON 位,下次开机 winlogon 自动登录上次用户并锁定
/g /r 基础上追加应用恢复标记,开机读取 RestartApps 注册表键重启所有前台程序
/hybrid 调用 SetSystemPowerState 写入休眠镜像 hiberfil.sys,搭配 /s 实现快速启动
/fw 设置 BOOT_UEFI_FIRMWARE 启动标志,重启时跳过系统加载直接进入 BIOS/UEFI
/o 设置高级启动标志,重启后进入 WinRE 恢复环境菜单

3. 休眠 /h

核心 API:SetSystemPowerState(TRUE, TRUE)
  1. 校验系统是否启用休眠文件 hiberfil.sys;未开启直接报错;
  2. 通知所有应用执行休眠保存回调;
  3. 内核将完整内存镜像写入系统分区休眠文件;
  4. 切断外设供电,CPU 进入低功耗休眠状态。
     
    搭配 /f 时:提前发送 WM_QUERYENDSESSION 强制杀死无响应进程。

4. 取消关机 /a

核心 API:AbortSystemShutdown(计算机名)
  • 仅当系统存在活跃未结束的关机倒计时时生效;
  • 底层向 winlogon 发送 IPC 消息,清除全局关机定时器、销毁弹窗、重置电源状态;
  • 倒计时结束、已进入内核关机阶段后,API 调用直接返回失败,无法撤销。

5. 图形界面 /i

底层调用 CreateWindowEx 生成专用远程关机 GUI 对话框,封装 InitiateSystemShutdownEx 批量远程调用逻辑,可多选多台主机,本质是可视化参数封装器。

6. 意外关机标记 /e

调用 ReportSystemShutdown API,向系统事件日志写入 意外关闭(U) 标记,对应截图内 U 类关机原因编码,用于服务器故障审计溯源。

7. 瞬时无警告关机 /p

等价 InitiateSystemShutdownEx 传入 Timeout=0,无弹窗倒计时,立即执行关机流程。

8. 强制关闭 /f 底层机制

  1. 提前向所有顶层窗口发送 WM_QUERYENDSESSIONWM_ENDSESSION 消息,给予程序保存数据窗口;
  2. 若程序无响应超时,调用 TerminateProcess 强制终止进程;
  3. /t 倒计时 > 0 时,API 内部自动开启强制标记,无需手动传入 /f

9. 关机原因日志 /d p|u:xx:yy

底层写入系统事件日志流程:
  1. 组装 SHUTDOWN_REASON 结构体,包含计划内 (P)/ 计划外 (U)、主原因 xx、次要原因 yy;
  2. InitiateSystemShutdownEx 将结构体写入系统 System 事件日志;
  3. 事件查看器读取预定义字符串表,展示截图内对应的中文说明(操作系统升级、硬件维护、安全问题等)。

五、第四层:内核驱动执行层(API 下发内核指令)

1. 会话管理流程(win32k.sys + winlogon.exe)

  1. API 发送关机信号给会话管理器 smss.exe
  2. smss.exe 逐个终止用户会话进程、释放桌面堆、卸载用户注册表;
  3. 通知 winlogon.exe 锁定 / 注销会话。

2. 电源内核流程(power.sys 电源驱动)

  1. 电源管理器接收关机 / 休眠指令,依次发送设备 IRP 电源请求;
  2. 磁盘、显卡、USB 驱动依次执行断电保存操作;
  3. 关机:卸载文件系统缓存、同步脏页到磁盘、停止内核线程、发送 ACPI 断电信号;
  4. 休眠:内核将物理内存全部写入 hiberfil.sys,硬件进入 S4 休眠状态;
  5. 重启:完成关机流程后,向主板 ACPI 下发冷复位指令。

3. 混合快速启动 /hybrid 内核特殊逻辑

并非完整关机,而是内核休眠 + 用户会话完全销毁
  1. 销毁所有用户进程、会话;
  2. 仅将内核驱动、系统服务内存写入 hiberfil.sys;
  3. 下次开机直接加载内核镜像,跳过硬件初始化、内核加载阶段,大幅提速。
     
    Windows Server 无此逻辑,服务器版忽略 /hybrid 参数。

4. 固件跳转 /fw 底层启动项修改

内核写入 BCD 启动数据库,设置一次性启动项标志,重启时 Bootmgr 直接跳转 UEFI/BIOS 设置界面,启动完成后自动清除该标志。

六、核心配套底层机制

1. 关机倒计时定时器机制

系统全局单例定时器由 winlogon.exe 维护,而非 shutdown.exe 进程:
  • shutdown.exe 发送指令后进程直接退出,定时器由系统托管;
  • 即使关闭 PowerShell/CMD 窗口,倒计时弹窗依然存在;
  • /a 是向 winlogon 发送 IPC 清除定时器,而非终止 shutdown 进程。

2. 权限特权底层校验

执行关机前自动启用对应安全特权:
  • 本地关机:SeShutdownPrivilege
  • 远程关机:SeRemoteShutdownPrivilege
  • 强制终止进程:SeDebugPrivilege
     
    权限不足时 API 直接返回错误码,控制台输出权限拒绝提示。

3. 进程关闭优先级规则

  1. 前台应用程序(先发送保存消息)
  2. 用户态系统服务
  3. 会话管理进程
  4. 内核驱动(最后同步磁盘后断电)
     
    /f 会跳过保存等待,直接逐层 TerminateProcess。

4. IPC 跨进程消息流转链路

plaintext
shutdown.exe → PowrProf.dll API → RPC/本地IPC → winlogon.exe → smss.exe → power.sys内核驱动 → ACPI硬件层

七、关键底层区分与边界限制

  1. shutdown.exe 仅为指令发送器
     
    自身不执行关机、休眠、重启硬件操作,仅封装参数调用系统 API,发送指令后进程退出,真实操作由系统服务、内核驱动完成。
  2. 远程关机依赖 RPC 与远程注册表,内网防火墙拦截 135/445 端口会直接失效。
  3. /hybrid 快速启动仅客户端 Windows(Win10/11 家庭 / 专业版)支持,服务器系统无休眠镜像逻辑,参数无效。
  4. /sg /g 自动恢复应用依赖注册表 HKCU\Software\Microsoft\Windows\CurrentVersion\RestartApps,未开启该功能则无法恢复窗口。
  5. /o 高级启动依赖 WinRE 恢复分区,分区丢失时该参数失效,无法进入修复菜单。
  6. 注销 /l 仅销毁当前登录会话,不操作电源内核,无任何硬件断电 / 重启逻辑。

shutdown.exe 完整命令手册解读(基于截图帮助文档)

一、基础概述

shutdown.exe 是 Windows 内置系统关机 / 重启 / 注销远程控制工具,存放路径:C:\Windows\System32\shutdown.exe,支持本地 / 远程主机操作、定时任务、强制关闭、关机原因日志记录、混合快速启动、固件启动跳转等能力,广泛用于运维脚本、域批量管理、自动化部署。

基础语法框架

powershell
shutdown [/i | /l | /s | /sg | /r | /g | /a | /p | /h | /hybrid | /fw | /e | /o]
[/m \\计算机名] [/t 秒数] [/d [p|u:]xx:yy] [/c "注释文本"] [/f]

二、核心功能参数分类详解

1. 主动作参数(定义执行行为,一次仅能选一个)

参数 功能说明 关键限制 / 配套规则
/? / 无参数 弹出完整帮助(即截图内容) 无执行操作,仅展示文档
/i 弹出图形化远程关机 GUI 窗口 必须作为第一个参数,可批量勾选远程计算机
/l 本地注销当前用户 不能搭配 /m(远程)、/d(关机原因)
/s 标准关闭计算机(普通关机) 搭配 /hybrid 开启快速启动;搭配 /fw 重启进固件 BIOS
/sg 关机,下次开机自动登录锁定用户并恢复应用 依赖系统「自动重启登录」功能
/r 完全关机后重启电脑 搭配 /o 进入高级启动菜单;搭配 /fw 直接进固件
/g 重启,开机自动登录锁定并恢复所有已打开程序 企业工作站断点续用场景
/a 取消正在倒计时的关机 / 重启 仅倒计时期间可用,定时结束后无法撤销
/p 本地立即关机,无倒计时、无警告弹窗 可配合 /f 强制杀进程、/d 记录关机原因
/h 本地休眠 仅本地可用,搭配 /f 强制休眠
/hybrid 混合关机,生成休眠镜像实现快速启动 必须和 /s 同时使用,Win10/11 默认快速关机底层逻辑
/fw 重启后直接跳转固件(BIOS/UEFI)界面 必须搭配 /s/r
/e 记录本次操作为「意外关闭」写入系统事件日志 用于服务器故障审计溯源
/o 重启进入高级启动选项(修复模式、安全模式) 必须搭配 /r,Win11 部分新设备弱化该入口

2. 通用控制辅助参数

参数 作用 细节约束  
/m \\hostname 指定远程目标计算机 /s/r/g/sg/i 支持远程;远程主机需开启远程关机权限、文件共享  
/t xxx 关机倒计时时长(单位:秒) 取值 0~315360000(最长 10 年);默认 30 秒;t>0自动隐含 /f 强制杀进程  
/c "文本" 弹窗向用户展示关机注释 文本最大 512 字符,需英文双引号包裹,用于告知用户维护原因  
/f 强制关闭所有运行程序,不弹窗保存提示 倒计时大于 0 时自动生效;短时间紧急维护手动指定强化强制  
`/d [p u:]xx:yy` 记录关机 / 重启分类原因,写入系统事件查看器 p= 计划内操作,u= 意外 / 计划外;xx主原因码、yy次原因码

3. 关机原因编码体系(截图内置对照表)

格式:/d p:xx:yy(计划内) / /d u:xx:yy(意外)
  • 标识说明:U= 计划外、E= 预期故障、P= 计划内维护
  • 高频常用编码示例:
    表格
    编码 类型 业务场景
    u:0:0 U 0 0 其他(意外断电 / 崩溃)
    p:0:0 P 0 0 其他(计划性日常关机)
    p:2:3 P 2 3 操作系统升级(系统更新维护标准编码)
    p:2:17 P 2 17 操作系统热修补(安全补丁更新)
    u:5:19 U 5 19 安全漏洞攻击、恶意程序导致关机
    p:4:1 P 4 1 应用程序计划性维护

三、高频标准示例(常规运维)

  1. 本地 30 秒后重启,标注更新补丁原因
powershell
shutdown /r /t 30 /c "系统安全补丁更新,30秒后重启,请保存文件" /d p:2:17
  1. 立即强制关机,无倒计时,记录计划内关机
powershell
shutdown /s /p /f /d p:0:0
  1. 取消正在倒计时的关机任务
powershell
shutdown /a
  1. 远程重启服务器,重启后直接进入 BIOS 固件
powershell
shutdown /r /fw /m \\SRV01 /t 10 /c "服务器硬件固件升级维护"
  1. 休眠本地电脑
powershell
shutdown /h
  1. 混合快速关机(Win10/11 标准快速关机逻辑)
powershell
shutdown /s /hybrid
  1. 弹出图形界面批量远程关机多台电脑
powershell
shutdown /i
  1. 重启并自动恢复所有打开软件
powershell
shutdown /g /t 60 /c "设备维护重启,开机自动恢复所有程序"

四、特殊 / 冷门另类示例(脚本、自动化、应急场景)

1. 10 年超长定时关机(极端定时测试)

powershell
# 315360000秒 = 10年
shutdown /s /t 315360000 /c "超长期定时关机测试"

2. 意外故障关机标记,写入崩溃日志

powershell
shutdown /s /e /t 5 /d u:5:19 /c "检测到安全漏洞,紧急隔离关机"

3. 远程批量注销不支持,仅本地注销

powershell
# 合法本地注销
shutdown /l
# 非法(/l 无法搭配/m远程)
shutdown /l /m \\PC01

4. 重启进入高级修复菜单(蓝屏修复、安全模式)

powershell
shutdown /r /o /t 0

5. 脚本静默休眠 + 强制关闭后台程序

powershell
shutdown /h /f

6. 关机后自动登录恢复所有窗口(办公工作站断点)

powershell
shutdown /sg /t 120 /c "下班关机,次日开机恢复全部文档软件"

五、关键底层机制与限制

1. 强制关闭 /f 自动触发规则

/t 倒计时数值 > 0 时,系统会自动附加 /f,无需手动填写;仅 /t 0 瞬时操作需要手动加 /f 才能强制杀进程。

2. 远程关机权限前置条件

  1. 远程主机防火墙放行「远程关机」规则;
  2. 当前账号拥有远程计算机管理员权限;
  3. 远程开启 Remote Registry 服务,读取关机原因日志。

3. /hybrid 快速启动底层逻辑

仅家用 Windows 支持,服务器版 Windows 无快速启动,搭配 /hybrid 无效;本质是写入休眠文件,下次开机跳过完整内核初始化。

4. 日志审计价值

搭配 /d 参数的关机记录会保存在「事件查看器 → Windows 日志 → 系统」,IT 运维可批量审计服务器非正常关机、计划性维护记录。

六、常见错误避坑

  1. /o 单独使用报错:必须搭配 /r
  2. /l 搭配 /m 远程参数:语法直接报错;
  3. /hybrid 不写 /s:参数不生效;
  4. /z 注释文本不带英文双引号:空格分割导致参数解析错乱;
  5. 倒计时结束后执行 /a:无法撤销关机操作,仅倒计时窗口存在时可用。

PS C:\Users\Administrator> shutdown /?
用法: C:\WINDOWS\system32\shutdown.exe [/i | /l | /s | /sg | /r | /g | /a | /p | /h | /e | /o] [/hybrid] [/soft] [/fw] [/f]
    [/m \\computer][/t xxx][/d [p|u:]xx:yy [/c "comment"]]

    没有参数   显示帮助。这与键入 /? 是一样的。
  shutdown   /?         显示帮助。这与不键入任何选项是一样的。
  shutdown   /i         显示图形用户界面(GUI)。这必须是第一个选项。
  shutdown   /l         注销。这不能与 /m 或 /d 选项一起使用。
  shutdown   /s         关闭计算机。
 shutdown    /sg        关闭计算机。在下一次启动时,如果启用了自动重启登录,则将自动登录并锁定上次交互用户。登录后,重启任何已注册的应用程序。
 shutdown    /r         完全关闭并重启计算机。
 shutdown    /g         完全关闭并重启计算机。重新启动系统后, 如果启用了自动重启登录,则将自动登录并锁定上次交互用户。登录后,重启任何已注册的应用程序。
 shutdown    /a         中止系统关闭。这只能在超时期间使用。与 /fw 结合使用,以清除任何未完成的至固件的引导。
 shutdown    /p         关闭本地计算机,没有超时或警告。可以与 /d 和 /f 选项一起使用。
 shutdown    /h         休眠本地计算机。可以与 /f 选项一起使用。
 shutdown    /hybrid    执行计算机关闭并进行准备以快速启动。 必须与 /s 选项一起使用。
  shutdown   /fw        与关闭选项结合使用,使下次启动转到 固件用户界面。
  shutdown   /e         记录计算机意外关闭的原因。
  shutdown   /o         转到高级启动选项菜单并重新启动计算机。必须与 /r 选项一起使用。
 shutdown    /m \\computer 指定目标计算机。
 shutdown    /t xxx     将关闭前的超时时间设置为 xxx 秒。有效范围是 0-315360000 (10 年),默认值为 30。如果超时期限大于 0,则 /f 参数为 /f 参数。
  shutdown   /c "comment" 注释重启或关闭的原因。最多允许 512 个字符。
 shutdown    /f         强制关闭正在运行的应用程序而不事先警告用户。当大于 0 的值为时,隐含 /f 参数               则默示为 /f 参数。
  shutdown   /d [p|u:]xx:yy  提供重新启动或关闭的原因。
               p 指示重启或关闭是计划内的。
               u 指示原因是用户定义的。
               如果未指定 p 和 u,则重新启动或关闭是计划外的。
               xx 是主要原因编号(小于 256 的正整数)。
               yy 是次要原因编号(小于 65536 的正整数)。

此计算机上的原因:
(E = 预期 U = 意外 P = 计划内,C = 自定义)
类别    主要    次要    标题

 U      0       0       其他(计划外)
E       0       0       其他(计划外)
E P     0       0       其他(计划内)
 U      0       5       其他故障: 系统没有反应
E       1       1       硬件: 维护(计划外)
E P     1       1       硬件: 维护(计划内)
E       1       2       硬件: 安装(计划外)
E P     1       2       硬件: 安装(计划内)
E       2       2       操作系统: 恢复(计划外)
E P     2       2       操作系统: 恢复(计划内)
  P     2       3       操作系统: 升级(计划内)
E       2       4       操作系统: 重新配置(计划外)
E P     2       4       操作系统: 重新配置(计划内)
  P     2       16      操作系统: Service Pack (计划内)
        2       17      操作系统: 热修补(计划外)
  P     2       17      操作系统: 热修补(计划内)
        2       18      操作系统: 安全修补(计划外)
  P     2       18      操作系统: 安全修补(计划内)
E       4       1       应用程序: 维护(计划外)
E P     4       1       应用程序: 维护(计划内)
E P     4       2       应用程序: 安装(计划内)
E       4       5       应用程序: 没有反应
E       4       6       应用程序: 不稳定
 U      5       15      系统故障: 停止错误
 U      5       19      安全问题(计划外)
E       5       19      安全问题(计划外)
E P     5       19      安全问题(计划内)
E       5       20      网络连接丢失(计划外)
 U      6       11      电源故障: 电线被拔掉
 U      6       12      电源故障: 环境
  P     7       0       旧版 API 关机


 

 PixPin_2026-07-14_21-41-57 

shutdown /i 远程关机图形窗口完整解析

一、窗口基础说明

该弹窗是执行命令 shutdown /i 弹出的远程关机可视化 GUI 界面,是 shutdown.exe 唯一图形交互入口;语法硬性规则:/i 必须作为整条命令第一个参数,否则会直接输出命令行帮助而不弹出窗口。

核心定位

面向企业域管理员,支持批量添加多台远程计算机,可视化配置重启 / 关机 / 休眠、倒计时、关机审计原因,替代手动拼接长命令行脚本,降低批量运维操作门槛。

二、界面分区功能拆解

1. 计算机列表区(远程主机管理)

  • 添加 (A)...:手动输入远程计算机名 / IP(格式 \\PC01\\192.168.1.100)加入待操作列表;
  • 删除 (R):移除列表内选中的目标主机;
  • 浏览 (B)...:打开局域网 / 域设备浏览器,可视化勾选批量计算机,无需手动输入名称;
  • 空白列表框:存放所有待执行关机 / 重启的远程设备,支持多台批量操作。

2. 操作行为配置区

  1. 你想让这些计算机做什么 (D) 下拉框
     
    对应命令行主参数,可选行为:
    • 重新启动 → 等价 shutdown /r /m \\主机
    • 关机 → 等价 shutdown /s /m \\主机
    • 休眠(部分系统可见)→ 等价 shutdown /h
  2. 警告用户此操作 (W) 复选框
    • 勾选:弹出倒计时提示窗口,对应 /t 倒计时参数;
    • 取消勾选:无弹窗、瞬时执行,等价 /t 0 /f 强制关闭。
  3. 显示警告 (L) 数值框
     
    设置倒计时秒数(截图默认 30 秒),对应命令行 /t xxx

3. 关闭事件跟踪程序(审计日志模块,对应 /d 参数)

该区域作用是写入系统事件日志,记录本次远程操作分类,用于后续运维审计溯源:
  1. 计划内 (P) 复选框
    • 勾选:对应 /d p:xx:yy(计划性维护、更新操作);
    • 取消勾选:对应 /d u:xx:yy(意外故障、非计划关机)。
  2. 选项 (O) 下拉菜单
     
    内置全套系统预设关机原因编码,与 shutdown /? 命令行里的原因对照表一一匹配,截图当前选中「其他 (计划内)」,对应编码 p:0:0
  3. 注释 (E) 输入框
     
    填写维护说明文本,对应命令行 /c "注释内容",最大支持 512 字符,会同步显示在远程用户倒计时弹窗与系统事件日志中。

4. 底部按钮

  • 确定 (K):校验列表、参数后,批量向所有远程主机下发关机 RPC 指令;
  • 取消 (C):关闭窗口,放弃本次所有配置操作。

三、底层执行逻辑(GUI ↔ 命令行映射)

  1. 界面所有配置会被 GUI 程序自动翻译成标准 shutdown 命令行参数,通过 RPC 通道批量发送给每一台远程主机;
  2. 底层通信依赖:Remote Registry 远程注册表服务、135/445 RPC 端口、管理员账号 SeRemoteShutdownPrivilege 远程关机权限;
  3. 批量多主机逻辑:循环遍历列表内所有设备,逐个发起独立 InitiateSystemShutdownEx API 调用;
  4. 强制关闭规则:只要倒计时数值大于 0,自动附加 /f 参数强制终止无响应程序,和命令行底层规则完全一致。

四、使用前置条件(远程操作必满足)

  1. 当前执行账号拥有远程计算机本地管理员权限
  2. 远程主机防火墙放行「远程关机」「远程注册表」规则;
  3. 远程主机 Remote Registry 服务处于自动 / 运行状态;
  4. 内网网络连通,无安全软件拦截 RPC 135/445 端口通信。

五、界面操作对应等效命令示例

以截图配置为例(单台主机 \\SRV01、重启、30 秒倒计时、计划内其他、注释 “服务器月度维护”)

GUI 配置等效命令行:

cmd
shutdown /r /m \\SRV01 /t 30 /d p:0:0 /c "服务器月度维护"
若勾选多台主机,GUI 会循环对每台主机执行上述指令。

六、场景优势与局限

优势

  1. 可视化批量管理多台设备,无需编写循环批处理 / PowerShell 脚本;
  2. 关机原因下拉选择,不用记忆复杂 xx:yy 数字编码,降低审计配置出错概率;
  3. 直观预览倒计时、注释、计划内 / 外标记,适合不熟悉命令行的运维人员。

局限

  1. 仅支持远程操作,无法配置本地计算机单独操作;
  2. 不支持 /g /sg /fw /o /hybrid 等高级启动 / 应用恢复参数,仅基础关机、重启、休眠;
  3. 无取消关机 /a 功能,仅能下发关机指令,不能撤销已发起的倒计时。

 

shutdown   /i         显示图形用户界面(GUI)。这必须是第一个选项。

PS C:\Users\Administrator> shutdown   /i 

PixPin_2025-09-11_01-23-25


shutdown 命令是一个用于关闭、重启、注销或休眠计算机的命令。它通常在命令行界面 (如 Windows 的命令提示符) 或脚本中使用。通过 shutdown 命令,用户可以控制计算机的关机、重启等操作,而不必直接按物理按钮或使用图形界面。

shutdown 命令的用途

  1. 关闭计算机:可以用来安全地关闭计算机,而不会丢失未保存的数据。
  2. 重启计算机:可以在应用系统更新或安装软件后重启计算机。
  3. 注销当前用户:允许当前用户退出计算机而不完全关闭。
  4. 休眠:将计算机置于休眠状态,节省电源并保留当前会话。
  5. 定时关机:可以设定延迟后自动关闭计算机。
  6. 强制关闭应用程序:在某些情况下,可以强制关闭没有响应的程序。

如何使用 shutdown 命令

shutdown 命令可以使用不同的选项来指定不同的操作。以下是常见的用法:

  • 关机:

    bashCopy Code
    shutdown /s

    这会关闭计算机。

  • 重启计算机:

    bashCopy Code
    shutdown /r

    这会关闭并重启计算机。

  • 注销用户:

    bashCopy Code
    shutdown /l

    这会注销当前用户,但不会关闭计算机。

  • 定时关机:

    bashCopy Code
    shutdown /s /t 60

    这会在 60 秒后关闭计算机。

  • 强制关闭程序:

    bashCopy Code
    shutdown /f

    强制关闭正在运行的程序并关机。

  • 显示帮助信息:

    bashCopy Code
    shutdown /?

    显示 shutdown 命令的帮助信息,列出所有参数和使用方法。

为什么使用 shutdown 命令

  1. 自动化管理:在系统管理和远程操作中,管理员可以利用该命令批量进行关机、重启等任务,确保设备的正常运行。
  2. 远程操作:结合 /m 选项,可以远程关闭其他计算机。
  3. 节省时间和精力:对于不熟悉图形界面操作的用户,命令行提供了一种快捷的方式来管理计算机。
  4. 安全关机:通过使用 shutdown,可以确保所有正在运行的程序都得到妥善关闭,避免数据丢失或损坏。

shutdown 命令是一个功能强大的工具,能够帮助用户管理计算机的关机、重启、注销、休眠等操作。它不仅适用于个人用户,还在系统管理员和脚本开发中具有重要作用。


shutdown 命令及其参数的功能分类表格:

参数 功能描述 备注
/? 显示帮助。与未指定任何选项时的效果相同。  
/i 显示图形用户界面(GUI)。必须是第一个选项。  
/l 注销计算机。不能与 /m 或 /d 选项一起使用。  
/s 关闭计算机。  
/sg 关闭计算机,并在下一次启动时自动登录并锁定上次交互用户,重启任何已注册的应用程序。  
/r 完全关闭并重启计算机。  
/g 完全关闭并重启计算机。重新启动后自动登录并锁定上次交互用户,重启任何已注册的应用程序。  
/a 中止系统关闭。只能在超时期间使用。 可以与 /fw 结合使用以清除未完成的固件引导。
/p 关闭本地计算机,无超时或警告。 可以与 /d 和 /f 一起使用。
/h 休眠本地计算机。可以与 /f 选项一起使用。  
/hybrid 执行计算机关闭并准备以进行快速启动。必须与 /s 一起使用。  
/fw 与关闭选项结合使用,启动时转到固件用户界面。  
/e 记录计算机意外关闭的原因。  
/o 转到高级启动选项菜单并重新启动计算机。必须与 /r 一起使用。  
/m \computer 指定目标计算机。  
/t xxx 设置关闭前的超时时间为 xxx 秒。有效范围:0-315360000(10年),默认30秒。  
/c "comment" 提供关闭或重启的原因注释。最多允许512个字符。  
/f 强制关闭正在运行的应用程序而不提前警告用户。 当超时大于0时隐含启用 /f 参数。
**/d [p u:]xx:yy** 提供关闭或重启的原因,p表示计划内,u表示用户定义,xx为主要原因编号,yy为次要原因编号。

关闭原因代码示例

类别 主要原因编号 (xx) 次要原因编号 (yy) 标题
U 0 0 其他 (计划外)
E 0 0 其他 (计划外)
E P 0 0 其他 (计划内)
U 0 5 其他故障:系统无响应
E 1 1 硬件:维护 (计划外)
E P 1 1 硬件:维护 (计划内)
E 1 2 硬件:安装 (计划外)
E P 1 2 硬件:安装 (计划内)
E 2 2 操作系统:恢复 (计划外)
E P 2 2 操作系统:恢复 (计划内)
P 2 3 操作系统:升级 (计划内)
E 2 4 操作系统:重新配置 (计划外)
E P 2 4 操作系统:重新配置 (计划内)
P 2 16 操作系统:服务包 (计划内)
E 2 17 操作系统:热修补 (计划外)
P 2 17 操作系统:热修补 (计划内)
E 2 18 操作系统:安全修补 (计划外)
P 2 18 操作系统:安全修补 (计划内)
E 4 1 应用程序:维护 (计划外)
E P 4 1 应用程序:维护 (计划内)
E P 4 2 应用程序:安装 (计划内)
E 4 5 应用程序:无响应
E 4 6 应用程序:不稳定
U 5 15 系统故障:停止错误
U 5 19 安全问题 (计划外)
E 5 19 安全问题 (计划外)
E P 5 19 安全问题 (计划内)
E 5 20 网络连接丢失 (计划外)
U 6 11 电源故障:电线被拔掉
U 6 12 电源故障:环境
P 7 0 旧版 API 关机

shutdown 命令的功能分类表格:

功能 参数 说明
显示帮助 /i 或 /h 显示图形用户界面(GUI)。必须是第一个选项。
注销 /l 注销当前用户。不能与 /m 或 /d 一起使用。
关机 /s 关闭计算机。
关机后自动登录并锁定用户 /sg 关机后,在下次启动时,启用自动重启登录(如果启用自动重启登录),自动登录并锁定上次的交互用户。启动后,重启任何注册的应用程序。
关机并重启 /r 完整关机并重启计算机。
关机并重启,自动登录用户 /g 完整关机并重启计算机。重启后,如果启用了自动重启登录,自动登录并锁定上次的交互用户。启动后,重启任何注册的应用程序。
中止关机 /a 中止系统关机。只能在超时期间使用。结合 /fw 可以清除任何待处理的固件启动。
立即关机 /p 立即关闭本地计算机,不进行时间延迟或警告。可以与 /d 和 /f 一起使用。
休眠 /h 使计算机进入休眠状态。可以与 /f 一起使用。
快速启动准备关机 /hybrid 执行关机并为快速启动做准备。必须与 /s 一起使用。
固件启动界面 /fw 与关机选项一起使用,指定下次启动时进入固件用户界面。
记录意外关机原因 /e 记录计算机意外关机的原因。
进入高级启动选项 /o 进入高级启动选项菜单并重启计算机。必须与 /r 一起使用。
指定目标计算机 /m \\computer 指定远程计算机进行关机操作。
设置超时时间 /t xxx 设置关机前的超时秒数(范围:0-315360000秒,默认为30秒)。如果超时值大于0,默认会使用 /f 强制关闭程序。
添加注释 /c "comment" 为重启或关机操作添加注释,最多512个字符。
强制关闭应用程序 /f 强制关闭正在运行的应用程序,不会警告用户。若设置了超时(/t 参数),则隐式使用 /f
指定关机原因 `/d [p u:]xx:yy`

参数说明:

  1. /i:启动图形界面(GUI)进行设置,必须作为第一个参数。
  2. /l:注销当前用户,不可以与远程计算机操作(/m)或指定原因(/d)一起使用。
  3. /s:关机计算机。
  4. /sg:关机后启用自动重启并自动登录上次用户(适用于配置自动重启登录的场景)。
  5. /r:关机并重新启动计算机。
  6. /g:关机并重启,启动后自动登录上次用户并重启已注册的应用程序。
  7. /a:在关机计时器内中止关机操作。结合 /fw 可清除待处理的固件启动请求。
  8. /p:立即关闭计算机,没有时间延迟或警告。
  9. /h:将计算机置于休眠状态。
  10. /hybrid:执行关机并为快速启动准备。必须与 /s 一起使用。
  11. /fw:与其他关机选项结合,下一次启动时进入固件界面(BIOS或UEFI设置)。
  12. /e:记录意外关机的原因。
  13. /o:重启计算机并进入高级启动选项菜单。必须与 /r 一起使用。
  14. /m:指定要进行关机操作的远程计算机。
  15. /t:指定关机操作前的超时(秒),默认为30秒。
  16. /c:添加对关机操作的注释。
  17. /f:强制关闭应用程序,通常在指定超时时间后自动生效。

通过使用这些选项,shutdown 命令可以灵活地实现系统关机、重启、注销、休眠、强制关闭应用程序等操作,并可根据需要记录关机原因、指定目标计算机或进入高级启动菜单。


原因分类信息进行表格化后的中文版本:

类别 主要原因 次要原因 标题
U 0 0 其他(未计划)
E 0 0 其他(未计划)
E P 0 0 其他(已计划)
U 0 5 其他故障:系统无响应
E 1 1 硬件:维护(未计划)
E P 1 1 硬件:维护(已计划)
E 1 2 硬件:安装(未计划)
E P 1 2 硬件:安装(已计划)
E 2 2 操作系统:恢复(未计划)
E P 2 2 操作系统:恢复(已计划)
P 2 3 操作系统:升级(已计划)
E 2 4 操作系统:重新配置(未计划)
E P 2 4 操作系统:重新配置(已计划)
P 2 16 操作系统:服务包(已计划)
  2 17 操作系统:热修复(未计划)
P 2 17 操作系统:热修复(已计划)
  2 18 操作系统:安全修复(未计划)
P 2 18 操作系统:安全修复(已计划)
E 4 1 应用程序:维护(未计划)
E P 4 1 应用程序:维护(已计划)
E P 4 2 应用程序:安装(已计划)
E 4 5 应用程序:无响应
E 4 6 应用程序:不稳定
U 5 15 系统故障:停止错误
U 5 19 安全问题(未计划)
E 5 19 安全问题(未计划)
E P 5 19 安全问题(已计划)
E 5 20 网络连接丢失(未计划)
U 6 11 电力故障:电缆未插好
U 6 12 电力故障:环境问题
P 7 0 传统API关闭

说明:

  • 类别 (Category): 表示事件的类别。U 代表未计划(Unplanned),E 代表已计划(Planned),P 代表计划中的操作。
  • 主要原因 (Primary Cause) 和 次要原因 (Secondary Cause): 用于描述关机或重启的主要原因和次要原因。
  • 标题 (Title): 对应每个关机原因的具体描述。

在 Windows Server 2022 中,shutdown 命令用于关闭计算机、重新启动计算机或进行其他相关的系统关机操作。以下是一个初级使用教程的大纲,帮助您了解如何在 Windows Server 2022 中使用 shutdown 命令。


1. 简介

  • 目标: 了解 shutdown 命令的功能和应用场景。
  • 适用环境: Windows Server 2022。
  • 命令用途: 通过命令行界面执行关机、重启、注销、定时关机等操作。

2. 基本语法和格式

  • 命令基本格式:
    Copy Code
    shutdown [参数]
  • 常用参数:
    • /s:关闭计算机。
    • /r:重新启动计算机。
    • /t:指定等待的时间(单位为秒),默认值为 30 秒。
    • /f:强制关闭正在运行的应用程序。
    • /l:注销当前用户。
    • /a:中止关机或重启操作。

3. 关机操作

  • 立即关机:
    Copy Code
    shutdown /s /f /t 0
    • 解释: shutdown /s 表示关机,/f 强制关闭应用程序,/t 0 表示立即关机(0 秒)。
  • 定时关机:
    Copy Code
    shutdown /s /f /t 600
    • 解释: 关机操作将在 10 分钟后执行(600 秒)。

4. 重新启动操作

  • 立即重启:
    Copy Code
    shutdown /r /f /t 0
    • 解释: shutdown /r 表示重启计算机,/f 强制关闭应用程序,/t 0 表示立即重启。
  • 定时重启:
    Copy Code
    shutdown /r /f /t 300
    • 解释: 重启操作将在 5 分钟后执行(300 秒)。

5. 注销操作

  • 立即注销:
    Copy Code
    shutdown /l
    • 解释: 注销当前用户并返回登录界面。

6. 中止关机或重启

  • 中止关机或重启操作:
    Copy Code
    shutdown /a
    • 解释: 如果已经设置了关机或重启操作,并且在倒计时期间执行此命令,则可以中止该操作。

7. 计划关机或重启

  • 使用任务计划程序进行定时关机:
    1. 打开“任务计划程序”。
    2. 创建一个新的任务。
    3. 在“操作”选项卡中,选择“启动程序”,并输入 shutdown 命令及相关参数。
    4. 设置触发器,如每天下午 5 点关机。

8. 其他有用参数

  • 查看帮助信息:
    Copy Code
    shutdown /?
    • 解释: 显示 shutdown 命令的所有参数和详细信息。
  • 发送关机通知:
    Copy Code
    shutdown /s /f /t 60 /c "系统将在60秒后关闭,请保存您的工作!"
    • 解释: 向用户显示通知消息,提醒在 60 秒后关机。

9. 实践案例

  • 案例 1: 如何创建一个每天晚上 11 点自动重启服务器。
    • 使用任务计划程序,设置每天晚上 11 点运行 shutdown /r /f /t 0 命令。
  • 案例 2: 如何在执行系统维护后自动关机。
    • 在执行维护脚本结束后,加入 shutdown /s /f /t 0 命令自动关机。

10. 故障排除与常见问题

  • 问题: 关机命令不生效,或无法正常执行。
    • 解决方案: 确保您具有管理员权限,检查是否有其他程序阻止关机。
  • 问题: 关机命令被中断或未按预期执行。
    • 解决方案: 检查命令语法,确认是否有 /a 参数中止操作。

11. 总结

  • shutdown 命令是管理 Windows Server 2022 的一个基本工具,熟练掌握该命令能够提高日常管理效率。
  • 结合其他操作系统管理工具(如任务计划程序),可以实现更自动化的系统维护和管理。

这个大纲涵盖了 shutdown 命令在 Windows Server 2022 中的基础使用,提供了关机、重启、注销等常见操作,并且通过案例示例帮助用户深入理解如何应用这些命令。


Windows Server 2022 中 shutdown 命令 - 中级使用教程大纲


1. 简介

  • 目标: 掌握 shutdown 命令的高级功能和技巧,能够在 Windows Server 2022 中实现定制化的关机、重启及维护计划。
  • 适用环境: 适用于熟悉 Windows Server 基本操作的管理员,重点提高在复杂环境下使用 shutdown 命令的效率。
  • 命令用途: 执行系统关机、重启、注销、计划任务和强制关机等操作。

2. 命令基础复习

  • 常用参数:
    • /s:关机。
    • /r:重启计算机。
    • /f:强制关闭应用程序。
    • /t:设置定时,单位为秒。
    • /l:注销当前用户。
    • /a:中止关机操作。
    • /c:显示关机或重启的自定义注释。

3. 高级关机操作

  • 强制应用程序关闭与日志记录:
    • 使用 /f 强制关闭应用程序,避免未保存数据丢失,结合 /c 参数为系统管理员添加注释。
    • 例如: shutdown /s /f /t 30 /c "服务器将在30秒后关闭,已完成常规维护任务。"
  • 通过任务计划程序自动关机:
    • 结合任务计划程序创建基于条件的自动关机计划,例如,服务器达到一定负载时自动关机。
    • 使用 shutdown /s /f /t 0 实现定时任务。

4. 使用 PowerShell 配合 shutdown 命令

  • 通过 PowerShell 执行复杂的关机和重启任务:
    • 使用 PowerShell 脚本执行多重条件的关机任务:
      powershellCopy Code
      if (Get-Process "MyApplication") {
          shutdown /r /f /t 60 /c "重新启动系统以应用更新"
      }
  • 结合 PowerShell 脚本监控系统状态,自动触发关机:
    • 监控系统资源(如 CPU、内存使用率)并触发关机命令:
      powershellCopy Code
      $cpuUsage = (Get-WmiObject -Class Win32_Processor).LoadPercentage
      if ($cpuUsage -gt 90) {
          shutdown /s /f /t 60 /c "CPU 使用率过高,系统即将关机"
      }

5. 远程关机和重启

  • 通过 shutdown 命令远程操作其他计算机:
    • 使用 /m 参数在远程机器上执行关机操作:
      bashCopy Code
      shutdown /s /f /t 0 /m \\RemotePC
    • 注意: 需要管理员权限并启用远程管理功能。
  • 远程重启多个计算机:
    • 创建批处理脚本远程重启多个计算机:
      bashCopy Code
      shutdown /r /f /t 0 /m \\PC1
      shutdown /r /f /t 0 /m \\PC2
      shutdown /r /f /t 0 /m \\PC3

6. 批量关机与重启

  • 通过批处理脚本批量执行关机或重启操作:
    • 创建批处理文件,执行多个服务器的关机操作:
      Copy Code
      for %%i in (Server1, Server2, Server3) do shutdown /s /f /t 0 /m \\%%i
  • 使用 PowerShell 批量重启服务器:
    • 执行 PowerShell 脚本重启一组服务器:
      powershellCopy Code
      $servers = "Server1", "Server2", "Server3"
      foreach ($server in $servers) {
          shutdown /r /f /t 0 /m \\$server
      }

7. 定时与延迟关机/重启

  • 延迟关机操作的灵活应用:
    • 通过 shutdown /s /f /t 1200 设置定时关机(20分钟后)。
    • 配合任务计划程序设置特定时间或事件触发关机。
  • 设置周期性重启操作:
    • 通过任务计划程序,创建每天午夜自动重启服务器的计划。

8. 自动恢复与关机中止

  • 自动恢复关机操作:
    • 在关机过程中配置特定条件,自动恢复:
      bashCopy Code
      shutdown /r /f /t 0 /c "系统重启后自动恢复"
  • 关机中止的高级用法:
    • 在执行关机操作时,通过 shutdown /a 立即中止操作,结合任务计划程序判断条件,自动中止不必要的关机。

9. 系统健康检查和条件关机

  • 监控系统资源,自动执行关机:
    • 结合系统资源(如磁盘空间、CPU使用率)触发自动关机:
      powershellCopy Code
      $disk = Get-WmiObject -Class Win32_LogicalDisk | Where-Object { $_.FreeSpace -lt 10000000000 }
      if ($disk) {
          shutdown /s /f /t 60 /c "磁盘空间不足,系统将在60秒后关机"
      }
  • 使用 shutdown 配合备份软件:
    • 在备份完成后自动关机:
      Copy Code
      backup_software.exe && shutdown /s /f /t 0

10. 故障排除与问题解决

  • 问题:shutdown 命令没有生效。
    • 解决方案: 检查权限,确保用户具有管理员权限;检查是否有防火墙、远程管理策略或其他安全设置阻止操作。
  • 问题:关机时间无法精确控制。
    • 解决方案: 确保操作系统时间设置正确,检查系统任务计划设置,确保任务没有被中断。

11. 总结与优化

  • 命令复习: 复习高级用法,确保掌握 shutdown 命令的完整功能。
  • 自动化与脚本化: 通过 PowerShell 和批处理脚本,提升管理效率,减少人工操作。
  • 维护与监控: 结合系统监控工具,自动化执行关机、重启和健康检查任务,提升服务器稳定性。

通过这些中级技巧,您将能够更加灵活地使用 shutdown 命令,提高 Windows Server 2022 的管理效率,满足更复杂的系统维护需求。


Windows Server 2022 中 shutdown 命令 - 高级使用教程大纲


1. 介绍

  • 目标: 学习如何在 Windows Server 2022 中高效地使用 shutdown 命令来管理系统的关机、重启、注销及远程操作。
  • 适用对象: 面向系统管理员、IT专业人员,帮助提升管理技能,优化操作和自动化任务。

2. shutdown 命令基础

  • 命令概述:
    • shutdown 命令用于关机、重启、注销和远程操作。
  • 基本语法:
    • shutdown [/s | /r | /l | /f | /t xx | /m \\computername | /c "comment"]
    • 解释常用参数:
      • /s:关机。
      • /r:重启。
      • /l:注销。
      • /f:强制关闭应用程序。
      • /t:设置时间延迟(单位为秒)。
      • /m:指定远程计算机。
      • /c:注释消息。

3. 高级使用技巧

3.1 强制关机与重启

  • 强制关闭应用程序:
    • 使用 /f 参数在关机、重启时强制关闭所有应用程序。
    • 示例:shutdown /r /f /t 0 /c "系统将重启,请保存工作!"
  • 自定义关机延时:
    • 设置指定的时间延迟,控制关机或重启的执行。
    • 示例:shutdown /s /f /t 600 /c "系统将在10分钟后关闭"

3.2 远程关机与重启

  • 远程执行关机:
    • 使用 /m 参数在远程计算机上执行关机。
    • 示例:shutdown /s /f /t 0 /m \\RemotePC /c "远程关机"
  • 通过 PowerShell 执行远程关机:
    • 利用 PowerShell 配合 shutdown 命令批量管理远程服务器。
    • 示例:Invoke-Command -ComputerName RemotePC -ScriptBlock { shutdown /s /f /t 0 }

3.3 批量操作

  • 批量关机和重启:
    • 使用批处理脚本同时管理多个计算机。
    • 示例:
      Copy Code
      for %%i in (PC1, PC2, PC3) do shutdown /r /f /t 0 /m \\%%i
  • PowerShell 批量关机:
    • 创建 PowerShell 脚本,对多个计算机执行关机或重启操作。
    • 示例:
      powershellCopy Code
      $computers = "Server1", "Server2", "Server3"
      foreach ($computer in $computers) {
          shutdown /r /f /t 0 /m \\$computer
      }

4. 定时关机与重启

4.1 定时操作

  • 设置延迟关机:
    • 使用 /t 参数指定延迟时间。
    • 示例:shutdown /s /f /t 1800 /c "30分钟后关机"
  • 自动重启操作:
    • 设置定时重启任务,确保定时进行系统维护。
    • 示例:shutdown /r /f /t 3600 /c "系统将在1小时后重启"

4.2 使用任务计划程序实现自动关机

  • 创建自动化关机任务:
    • 在任务计划程序中设置定期执行 shutdown 命令,例如每日定时关机。
    • 示例:创建任务计划,设置每天午夜12点执行 shutdown /s /f /t 0

5. 监控与条件触发关机

5.1 基于系统状态自动触发关机

  • 监控系统资源并触发关机:
    • 使用 PowerShell 脚本根据系统负载、CPU使用率或内存使用量触发关机。
    • 示例:shutdown /s /f /t 0 /c "系统温度过高,自动关机"
  • 结合磁盘空间检查自动关机:
    • 当磁盘空间不足时,自动执行关机操作。
    • 示例:
      powershellCopy Code
      $disk = Get-WmiObject -Class Win32_LogicalDisk | Where-Object { $_.FreeSpace -lt 10000000000 }
      if ($disk) {
          shutdown /s /f /t 60 /c "磁盘空间不足,系统将在60秒后关机"
      }

6. 自动恢复与关机中止

6.1 自动恢复关机操作

  • 在关机过程中根据条件恢复操作:
    • 设置脚本,在特定条件下恢复关机。
    • 示例:shutdown /r /f /t 0 /c "自动恢复关机操作"

6.2 关机中止

  • 手动或自动中止关机操作:
    • 使用 /a 参数在关机倒计时期间中止关机。
    • 示例:shutdown /a(用于中止正在进行的关机操作)

7. 故障排除

7.1 常见问题

  • 问题:shutdown 命令不生效。
    • 检查是否具有管理员权限,确保防火墙或安全策略未阻止远程命令执行。
  • 问题:关机时间未按预期执行。
    • 检查系统时区设置、任务计划程序是否正确配置。

7.2 使用日志记录关机操作

  • 生成日志文件记录关机详情:
    • 通过脚本记录每次关机、重启的原因和执行时间。
    • 示例:在关机命令中使用日志输出:
      bashCopy Code
      shutdown /s /f /t 0 /c "定期维护" >> C:\shutdown_log.txt

8. 进阶优化

8.1 自动化与脚本化

  • 优化关机与重启流程,结合脚本进行自动化任务处理:
    • 使用 PowerShell 定期执行系统健康检查,并自动关闭问题应用。
  • 结合 Windows 管理工具 (WMIF) 自动化关机
    • 使用 Get-WmiObject 和其他管理工具,自动化对计算机资源的关机操作。

8.2 增强远程管理

  • 通过组策略或 PowerShell 实现远程多机管理:
    • 使用 shutdown 命令批量关闭多台远程计算机。

9. 总结与最佳实践

  • 复习: 提高对 shutdown 命令的理解和应用,结合系统需求进行定制。
  • 自动化关机与重启: 运用任务计划、PowerShell 等工具自动化管理日常操作。
  • 优化管理流程: 通过脚本化提高工作效率,减少人工干预。

通过这些高级技巧,您将能更有效地在 Windows Server 2022 环境下管理服务器的关机、重启和维护任务,确保系统的高效和稳定运行。


Windows Server 2022 中 shutdown 命令 - 工程师级使用教程大纲


1. 介绍

  • 目标: 详细了解如何在 Windows Server 2022 中使用 shutdown 命令进行系统管理,特别是面向工程师级用户的高级操作和自动化场景。
  • 适用对象: 系统工程师、IT管理员和技术支持人员,旨在优化系统维护流程,提高操作效率。
  • 概述: shutdown 命令用于关机、重启、注销、定时执行、远程操作等功能。掌握其高级用法能够帮助工程师实现自动化和批量操作。

2. shutdown 命令基础

2.1 命令概述

  • shutdown 是 Windows 中的命令行工具,用于关闭本地或远程计算机。
  • 常见参数:
    • /s:关机
    • /r:重启
    • /l:注销
    • /f:强制关闭正在运行的应用程序
    • /t xx:设置延迟时间,单位为秒
    • /m \\computername:远程计算机
    • /c "comment":指定注释

2.2 基本语法

  • shutdown [/s | /r | /l | /f | /t xx | /m \\computername | /c "comment"]
  • 示例: shutdown /r /f /t 30 /c "系统将在30秒后重启"

3. 高级操作技巧

3.1 强制关机与重启

  • 强制关闭未响应应用:
    • 使用 /f 强制关闭正在运行的应用程序。
    • 示例:shutdown /r /f /t 0 /c "强制重启系统"
  • 关机时强制关闭网络应用程序:
    • 在有网络服务依赖时,使用 /f 确保关机过程中关闭所有相关应用。
    • 示例:shutdown /s /f /t 0 /c "关闭系统并终止网络服务"

3.2 定时关机与重启

  • 自定义关机延迟时间:
    • 设置系统关机的时间延迟,适应不同需求。
    • 示例:shutdown /s /f /t 1800 /c "系统将在30分钟后关机"
  • 自动重启操作:
    • 定期重启服务器,优化维护。
    • 示例:shutdown /r /f /t 3600 /c "系统将在1小时后重启"

3.3 远程关机与重启

  • 远程关机:
    • 在远程计算机上执行关机命令。
    • 示例:shutdown /s /f /t 0 /m \\RemotePC /c "远程关机"
  • 远程重启多个计算机:
    • 使用批处理脚本远程重启多台计算机。
    • 示例:
      Copy Code
      for %%i in (PC1, PC2, PC3) do shutdown /r /f /t 0 /m \\%%i
  • 结合 PowerShell 实现批量操作:
    • 通过 PowerShell 脚本批量远程关机和重启。
    • 示例:
      powershellCopy Code
      $computers = "Server1", "Server2", "Server3"
      foreach ($computer in $computers) {
          shutdown /r /f /t 0 /m \\$computer
      }

4. 自动化与定时管理

4.1 自动化任务

  • 任务计划程序配置:
    • 创建计划任务自动执行关机或重启操作,例如每天晚上12点自动关机。
    • 示例:创建任务计划,设置触发器为定时执行 shutdown /s /f /t 0
  • PowerShell 自动化关机与重启:
    • 利用 PowerShell 自动化关机和重启操作,并在特定条件下触发。
    • 示例:Invoke-Command -ComputerName RemotePC -ScriptBlock {shutdown /r /f /t 0}

4.2 条件触发关机

  • 基于系统资源监控自动关机:
    • 使用脚本根据 CPU 使用率或内存负载触发关机操作。
    • 示例:shutdown /s /f /t 0 /c "系统负载过高,自动关机"
  • 磁盘空间不足触发关机:
    • 根据磁盘空间监控情况自动关机。
    • 示例:
      powershellCopy Code
      $disk = Get-WmiObject -Class Win32_LogicalDisk | Where-Object { $_.FreeSpace -lt 10000000000 }
      if ($disk) {
          shutdown /s /f /t 60 /c "磁盘空间不足,系统将在60秒后关机"
      }

5. 故障排除与日志管理

5.1 问题排查

  • 常见问题:
    • shutdown 命令无法执行:检查用户权限、组策略、以及防火墙设置。
    • 远程操作失败:确保远程计算机开启了远程管理功能,并且允许管理员访问。
  • 命令执行无响应:
    • 确保没有程序阻止命令执行,如防病毒软件等。

5.2 日志记录关机与重启操作

  • 生成日志记录:
    • 通过脚本记录每次执行的关机操作,包括原因和执行时间。
    • 示例:
      Copy Code
      shutdown /s /f /t 0 /c "计划维护" >> C:\shutdown_log.txt

6. 高级管理与优化

6.1 系统健康检查与自动关机

  • 通过脚本监控系统健康:
    • 定期检查系统健康并在检测到异常时自动执行关机操作。
    • 示例:
      powershellCopy Code
      $cpuLoad = Get-WmiObject -Class Win32_Processor | Select-Object -ExpandProperty LoadPercentage
      if ($cpuLoad -gt 90) {
          shutdown /s /f /t 0 /c "CPU负载过高,自动关机"
      }

6.2 远程批量管理

  • 批量远程关机与重启:
    • 通过 PowerShell 管理远程计算机,批量执行关机与重启操作。
    • 示例:
      powershellCopy Code
      $computers = @("Server1", "Server2", "Server3")
      foreach ($computer in $computers) {
          shutdown /r /f /t 0 /m \\$computer
      }

7. 安全性与最佳实践

7.1 防止误操作

  • 使用确认机制避免误关机:
    • 使用 /c 参数和自定义消息提示用户确认关机操作。
    • 示例:shutdown /s /f /t 30 /c "请确保所有工作已保存,系统将在30秒后关机"
  • 关机命令日志记录:
    • 确保在每次关机时记录日志,以便跟踪和审计。

7.2 与系统监控工具集成

  • 集成监控系统,自动关机:
    • 将 shutdown 命令集成到系统监控工具中,在资源利用率过高时自动执行关机操作。

8. 总结与最佳实践

  • 回顾:
    • 掌握 shutdown 命令的高级功能,提高管理 Windows Server 2022 的效率。
  • 自动化:
    • 通过定时任务和 PowerShell 脚本,减少人工干预,自动化常规维护。
  • 安全性:
    • 在执行关机操作时加强安全性,确保不会误操作或中断重要任务。

通过本教程,您将能够在 Windows Server 2022 中熟练运用 shutdown 命令进行系统管理,确保在工程级别的自动化、高效和安全操作。


Windows Server 2022 中 shutdown 命令专家级使用教程大纲


1. 引言

  • 目标: 深入掌握 shutdown 命令的高级用法和自动化应用,帮助系统管理员和IT专家在 Windows Server 2022 中高效管理系统的关机、重启、定时任务、远程操作等任务。
  • 适用对象: 高级系统管理员、IT架构师、网络工程师,具备一定 Windows Server 操作经验,旨在提升系统管理、自动化运维和故障排除的能力。
  • 概述: shutdown 命令不仅支持基本的关机、重启操作,还能够与脚本、远程管理、资源监控等深度集成,增强系统管理的灵活性和自动化。

2. shutdown 命令基础与常见参数

2.1 shutdown 命令概述

  • 作用:通过命令行工具控制 Windows Server 系统的关机、重启、注销等操作。
  • 命令结构:
    bashCopy Code
    shutdown [/s | /r | /l | /f | /t xx | /m \\computername | /c "comment"]

2.2 常见参数解析

  • /s:关机
  • /r:重启
  • /l:注销当前用户
  • /f:强制关闭所有应用程序
  • /t xx:设置延迟时间,单位秒
  • /m \\computername:远程关机、重启指定计算机
  • /c "comment":指定关机/重启时的注释
  • /d [u][p]:xx:yy:指定关机或重启的原因代码(用户与计划任务)

2.3 常见命令示例

  • 关机: shutdown /s /f /t 60 /c "系统将在60秒后关闭"
  • 重启: shutdown /r /f /t 0 /c "立即重启"
  • 远程关机: shutdown /s /f /t 0 /m \\Server01 /c "远程关机"

3. 高级用法:自动化与定时任务

3.1 定时关机与重启

  • 利用任务计划程序实现定时关机与重启:
    • 创建计划任务自动关机或重启系统
    • 示例:设置每晚12点自动关机
      bashCopy Code
      shutdown /s /f /t 0 /c "系统将在午夜自动关机"
  • PowerShell 定时脚本:
    • 使用 PowerShell 脚本设置定时任务
      powershellCopy Code
      $time = Get-Date "23:59"
      $timeSpan = $time - (Get-Date)
      shutdown /r /f /t $timeSpan.TotalSeconds /c "每天午夜自动重启"

3.2 条件触发关机

  • 根据系统资源条件触发关机:
    • 根据 CPU 或内存占用情况,自动执行关机。
    • 示例:CPU 使用率超过90%时自动关机:
      powershellCopy Code
      $cpuLoad = (Get-WmiObject -Class Win32_Processor).LoadPercentage
      if ($cpuLoad -gt 90) { shutdown /s /f /t 0 /c "CPU负载过高,系统自动关机" }
  • 磁盘空间不足时关机:
    • 监控磁盘空间并在不足时执行关机操作
    • 示例:
      powershellCopy Code
      $disk = Get-WmiObject -Class Win32_LogicalDisk | Where-Object { $_.FreeSpace -lt 5000000000 }
      if ($disk) { shutdown /s /f /t 60 /c "磁盘空间不足,系统将在60秒后关机" }

3.3 系统监控与自动恢复

  • 集成系统监控工具:
    • 将 shutdown 命令与第三方监控工具结合,设置资源阈值自动关机或重启
  • 自动恢复机制:
    • 系统崩溃或高负载时,自动重启服务器或虚拟机
    • 示例:
      powershellCopy Code
      $eventLog = Get-WinEvent -LogName System | Where-Object { $_.Message -like "*Crash*" }
      if ($eventLog) { shutdown /r /f /t 0 /c "系统崩溃,自动重启" }

4. 远程管理与批量操作

4.1 远程关机与重启

  • 通过 shutdown 命令远程管理计算机:
    • 使用 /m 参数控制远程计算机
    • 示例:远程关机
      bashCopy Code
      shutdown /s /f /t 0 /m \\RemotePC /c "远程系统关机"
  • 批量远程关机与重启:
    • 通过 PowerShell 脚本批量远程管理多台服务器
    • 示例:
      powershellCopy Code
      $computers = "Server1", "Server2", "Server3"
      foreach ($computer in $computers) {
          shutdown /r /f /t 0 /m \\$computer /c "批量重启"
      }

4.2 使用 PowerShell 实现复杂批量操作

  • 高级远程管理:
    • 使用 PowerShell 实现跨多个域或子网的关机与重启
    • 示例:
      powershellCopy Code
      Invoke-Command -ComputerName Server01, Server02 -ScriptBlock { shutdown /r /f /t 0 /c "远程重启" }

5. 故障排除与日志管理

5.1 问题排查

  • 无法执行命令的常见原因:
    • 权限问题(管理员权限)
    • 防火墙或安全策略限制
    • 网络故障或 DNS 配置错误
  • 命令无响应:
    • 检查系统日志(事件查看器)
    • 示例:检查 Windows 日志
      powershellCopy Code
      Get-WinEvent -LogName System | Where-Object { $_.Message -like "*shutdown*" }

5.2 生成和分析关机日志

  • 记录每次关机、重启事件:
    • 使用 PowerShell 自动记录 shutdown 操作日志
    • 示例:
      powershellCopy Code
      shutdown /s /f /t 0 /c "计划任务关机" >> C:\shutdown_log.txt

5.3 远程日志收集

  • 远程收集系统关机日志:
    • 通过 Get-WinEvent 获取远程计算机上的关机日志
    • 示例:
      powershellCopy Code
      Get-WinEvent -ComputerName \\RemotePC -LogName System | Where-Object { $_.Message -like "*shutdown*" }

6. 安全性与最佳实践

6.1 防止误操作

  • 增强关机命令的安全性:
    • 使用 /c 提供详细注释,提示关机原因
    • 配置管理员权限,限制非管理员用户使用关机命令
  • 确认机制:
    • 在执行关机时,配置倒计时和确认提示,避免误操作
    • 示例:
      bashCopy Code
      shutdown /s /f /t 30 /c "请确认所有工作已保存,系统将在30秒后关机"

6.2 使用组策略增强安全性

  • 禁止用户随意关机:
    • 配置组策略,禁止非管理员用户使用 shutdown 命令
  • 增强远程关机的安全性:
    • 启用基于证书的身份验证,确保只有授权用户可以远程关机

7. 综合案例与专家级优化

7.1 高可用性场景中的 shutdown 操作

  • 集群系统中自动关机与重启
  • 容灾演练中使用 shutdown 的实际案例
  • 跨区域数据中心中的批量关机与重启策略

7.2 自动化运维与 CI/CD 集成

  • 与持续集成/持续交付(CI/CD)工具结合,自动触发关机操作
  • 在测试环境中使用 shutdown 完成系统恢复测试

8. 总结与专家建议

  • 回顾:
    • 深入理解 shutdown 命令的多样化应用,包括自动化、远程管理和故障排除。
  • 最佳实践:
    • 强调安全性、日志管理以及跨平台的自动化实现。
  • 优化:
    • 探讨如何通过脚本和计划任务实现更加智能的关机和重启策略。

通过本教程,您将掌握 Windows Server 2022 中 shutdown 命令的专家级使用技巧,能够高效、自动化、可靠地管理服务器系统。


看上次关机时间,你可以通过 Windows 事件查看器来查找。具体步骤如下:

  1. 打开“事件查看器”(可以在开始菜单搜索框中输入“事件查看器”)。
  2. 在左侧的面板中,依次展开“Windows 日志” -> “系统”。
  3. 然后在右侧的面板中,选择“筛选当前日志...”。
  4. 在弹出的窗口中,选择“事件来源”作为“EventLog”,并设置事件ID为“6006”(这是关机事件)。
  5. 点击“确定”后,你可以看到上次关机的详细信息。

通过 PowerShell 查询上次关机时间,你可以使用以下命令:

powershell
Get-WinEvent -LogName System | Where-Object { $_.Id -eq 6006 }
 
 
Get-WinEvent -LogName System | Where-Object { $_.Id -eq 6006 } | Select-Object -First 1 TimeCreated

这个命令会查找系统日志中的所有事件,筛选出事件ID为6006(表示关机事件)的记录,并显示最早的记录时间,即上次关机时间。



PS C:\Users\Administrator> Get-WinEvent -LogName System | Where-Object { $_.Id -eq 6006 }


   ProviderName:EventLog

TimeCreated                      Id LevelDisplayName Message
-----------                      -- ---------------- -------


 

posted @ 2023-07-19 11:06  suv789  阅读(1907)  评论(0)    收藏  举报