Windows可通过任务计划程序每日23:00执行rundll32.exe user32.dll,LockWorkStation锁屏;macOS需用快捷指令创建“Lock Now”并关联日历每日提醒触发;进阶方案可用PowerShell脚本添加工作日判断等条件。

你想让电脑在每天固定时刻(比如晚上11点整)自动锁屏,而不是等闲置几分钟后才触发——这需要绕过系统默认的“空闲检测”逻辑,用任务计划器绑定锁屏指令来实现。
Windows 用任务计划器设置每日定点锁屏
第一步:按 Win + R 输入 taskschd.msc → 回车打开“任务计划程序”。
第二步:在右侧面板点击“创建基本任务”,名称填“ nightly lock at 23:00 ”,描述可不填。
第三步:触发器选“每天”,点击“下一步”→ 设置开始时间为 23:00:00,日期选今天,再点“下一步”。
第四步:操作选“启动程序”,点击“下一步”→ 在“程序或脚本”框中粘贴:
rundll32.exe user32.dll,LockWorkStation
参数和起始位置留空。
第五步:勾选“当按计划运行时,如果任务已在运行,请勿启动新实例”,点击“完成”。【必须勾选此项,否则深夜多次唤醒可能反复触发锁屏导致误操作】
macOS 用自动化快捷指令+日历提醒触发锁屏
这个方法不依赖第三方工具,但需配合系统自带的“快捷指令”与“日历”联动。
方法一:先创建锁屏快捷指令
打开“快捷指令”App → 点击右上角“+” → 添加操作 → 搜索“锁定屏幕”→ 选择该操作 → 点击“完成”并命名为“Lock Now”。
方法二:用日历事件触发该指令
打开“日历”App → 新建全天事件 → 标题写“Auto Lock” → 时间设为每天23:00 → 在“提醒”栏添加“运行快捷指令”→ 选择刚建的“Lock Now”。
【关键前提】必须在“系统设置→快捷指令→允许通过日历运行快捷指令”中开启开关,否则日历提醒不会执行指令。
进阶方案:用 PowerShell 脚本实现带条件的定点锁屏
如果你希望只在工作日锁屏、或避开全屏播放视频时触发,就得用脚本加判断逻辑。
第一步:新建文本文件,重命名为 lock-at-23.ps1,用记事本打开,粘贴以下内容:
if ((Get-Date).DayOfWeek -notin 'Saturday','Sunday') { rundll32.exe user32.dll,LockWorkStation }
第二步:以管理员身份运行 PowerShell → 执行:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
第三步:回到任务计划程序,新建任务(非“基本任务”)→ 在“操作”页,“程序或脚本”填 powershell.exe,参数填:
-ExecutionPolicy Bypass -File "C:\path\to\lock-at-23.ps1"
第四步:在“条件”页,取消勾选“只有在计算机使用交流电源时才启动此任务”,避免笔记本拔电就失效。











