我正在尝试让 Windows 10 Optiplex 7000 每天晚上 10 点进入睡眠状态。我安装了 nircmd 并在任务计划程序中创建了一个任务,以使用以下命令运行 .bat 文件:nircmd.exe monitor async_off
手动运行此批处理文件(双击它)效果很好。但是,如果我选择了“无论用户是否登录都运行”选项,并尝试在任务计划程序中运行任务(通过单击运行按钮),似乎什么也没发生。批处理文件是echo
正在运行;我可以使用和的输出创建文件whoami
,但出于某种原因,nircmd 命令似乎无法成功执行。如果我改为选择“仅在用户登录时运行”,则任务可以运行。
两种配置的输出whoami
相同,因此我认为这不是用户权限的问题。需要运行命令时登录的用户没有权限让计算机进入睡眠状态,因此我认为我不能以他们的名义创建任务并将其配置为仅在他们登录时运行。
有人有什么我可以尝试的想法吗?也许我可以使用其他命令来调用 S0 睡眠?
(我已经尝试过psshutdown
和rundll32.exe
,但都没有用,因为它们只能调用 S3 睡眠,而根据 ,计算机的固件不支持这种睡眠powercfg -a
)
编辑:我也尝试使用以下命令,但结果与 nircmd 相同。
powershell (Add-Type '[DllImport(\"user32.dll\")]^public static extern int SendMessage(int hWnd, int hMsg, int wParam, int lParam);' -Name a -Pas)::SendMessage(-1,0x0112,0xF170,2)