前言:
此盒子在进入睡眠状态时会锁定(需要 5 秒钟的硬关闭才能关闭并重新启动),因此目的是禁用睡眠,但在设置的空闲时间后通过任务计划程序关闭。
细节:
此 MSwin10 框在使用开始菜单时会完全关闭,但是命令行shutdown /s
和 Powershell 的stop-computer
命令都会导致半状态,风扇和灯继续运行。
我已禁用睡眠、休眠和快速启动,如cmd\powerfg /A
组策略输出所示。计划任务可以运行,因为它运行了请求的命令,但它运行的命令仅产生半关闭状态。
答案1
我刚刚创建了一个快速的 Python 脚本来执行此操作。
from pyautogui import keyDown, press, keyUp
keyDown('winleft')
press('x')
keyUp('winleft')
press('u')
press('u')
上述脚本将发送“Win+X”,然后按两次“U”键,如果您现在尝试这样做,将关闭您的计算机。然后,您可以转到任务计划程序并执行以下操作:
- 创建基本任务
- 将此任务的操作设置为启动程序
- 按如下方式填写“操作”菜单:
关于任务的所有其他信息都可以由您决定,但这将完全按照您通过开始菜单要求计算机关闭的方式执行脚本。
笔记:
- 这里的主要思想是发送击键。如果您可以通过 powershell 执行此操作(这样就无需下载 python),我不会感到惊讶,但我经常看到用户写道 SuperUser 不是脚本编写服务,所以我不想花超过一分钟的时间来编写脚本。
- 您要求一种关闭计算机的方法
就像使用开始菜单“按钮”关闭一样
但您应该注意,这会带来一个问题,如果您正在运行 Windows 不会关闭的程序,计算机将挂起,直到您告诉它“仍然关闭”
版本:
我已经测试过这个并且它对我有用:
python 版本 3.8.2
pyautogui 版本 0.9.50
Windows 10 家庭版 1909
答案2
这样做...(有关开关的说明,请参阅shutdown.exe 帮助)
shutdown.exe /s /f /t 00
我有执行此操作的快捷方式(固定到任务栏上的所有电源选项)和脚本,但我从未反驳过这一点……
“导致半状态下风扇和灯继续运转。”
根据我的 SendKeys 评论,请参阅以下几点:
因此,自动化记事本......
Add-Type -AssemblyName System.Windows.Forms
& "$env:WinDir\Notepad.exe"
Start-Sleep -Seconds 2
[System.Windows.Forms.SendKeys]::SendWait("~Name:{TAB}$env:UserName~")
...对于几乎任何交互式用户命令都可以类似地执行。
更新
# Activating the Windows Key
Add-Type -AssemblyName System.Windows.Forms
[System.Windows.Forms.SendKeys]::SendWait('^{ESC}')
重新测试
(Get-CimInstance -ClassName Win32_OperatingSystem).Version
# Results
<#
10.0.19041
#>