本质是MDM/配置文件强管控或root级launchd/pmset策略锁定,需先确认“配置文件”中是否存在不可移除的managed/MDM条目;若存在则必须联系IT解绑,否则可依次执行sudo launchctl bootout终止守护进程、sudo pmset repeat cancel清除调度、sudo nvram -d boot-args && sudo pmset schedule cancel强制丢弃固件层任务。

Mac因系统权限受限而无法手动取消定时关机,本质是关机任务被嵌入在受保护的系统级上下文中——比如由配置文件强制锁定、launchd守护进程以root身份注册、或pmset策略被MDM远程管控,导致常规图形界面操作和普通终端命令全部失效。
确认是否为MDM/配置文件强管控场景
点击屏幕左上角苹果图标 → “系统设置” → 侧边栏滚动到底部 → “隐私与安全性” → 向下拉找到并点击“配置文件”。
若列表中存在名称含 【managed】、【MDM】、公司域名或“IT Policy”字样的配置文件,且右侧显示“已安装”但“移除”按钮为灰色不可点,则说明该设备已被企业级移动设备管理(如Jamf、Kandji、Microsoft Intune)接管,所有电源策略均由服务器端下发并锁定本地修改权限。
此时任何终端命令(包括sudo pmset repeat cancel或sudo shutdown -c)均无法覆盖服务器指令,必须联系IT部门提交解绑申请;自行重装系统或恢复出厂设置亦无效,因MDM配置会在首次联网时自动重装。
绕过权限限制终止root级launchd关机任务
打开“访达” → 前往文件夹 → 输入 /Library/LaunchDaemons/ → 回车。
在此目录中查找名称含 shutdown、power、reboot、autooff 或公司缩写的 .plist 文件(如 com.corp.poweroff.plist),这些文件默认由root拥有且加载于系统级上下文,普通用户无权删除或禁用。
按 Command + 空格 打开聚焦搜索 → 输入“终端”并回车 → 输入以下命令后回车:
sudo launchctl list | grep -i "shutdown\|power\|reboot"
若返回类似 - 0 com.corp.shutdown 的条目,说明该任务正在运行。执行:
sudo launchctl bootout system/com.corp.shutdown
【必须确保bootout后的标识符与grep输出完全一致,否则将终止错误服务】。成功后该任务立即退出,且不会随重启恢复——因为plist文件虽仍存在,但launchd已将其从激活列表中清除。
清除被锁定的pmset重复调度策略
第一步:在终端中运行
sudo pmset -g custom
观察输出中是否包含 shutdown、schedule、repeat 字段。若存在且时间值非空,说明策略仍在生效。
第二步:强制重置全部电源调度状态
sudo pmset repeat cancel → 输入管理员密码 → 回车
第三步:验证是否真正清空
pmset -g sched
若返回为空行,表示成功;若仍显示 repeat shutdown 行,说明该策略由MDM远程写入且缓存于NVRAM或固件层,此时需执行:
sudo nvram -d boot-args && sudo pmset schedule cancel
该操作会清除启动参数中可能携带的调度钩子,并调用底层电源管理接口强制丢弃所有待执行事件。
检查并卸载隐藏的关机脚本守护进程
方法一:扫描系统级启动项
在终端中输入:
ls -la /etc/rc.common /etc/rc.local /etc/init.d/ 2>/dev/null
若发现其中任一路径存在可执行脚本(尤其含 shutdown、halt、poweroff 关键词),则用 nano 编辑该文件,定位到调用 /sbin/shutdown 的行,将其整行删除或在行首加 # 注释。
方法二:检查内核扩展干扰
运行:
kextstat | grep -i "power\|sleep\|shutdown"
若输出非空(如 com.apple.driver.AppleRTC 或第三方电源管理kext),说明有内核级模块正在劫持电源事件。此时需进入恢复模式(开机时按住 Command+R)→ 实用工具 → 终端 → 输入:
csrutil disable → 重启 → 再次进入恢复模式 → 终端中执行:
kmutil uninstall --bundle-id com.thirdparty.powermanager
完成后重启并重新启用SIP:
csrutil enable











