本文目录导读:

- 场景一:批量让局域网中的 Windows 电脑休眠(最实用)
- 场景二:批量让局域网中的 Linux 电脑休眠(服务端常用)
- 场景三:通过 Wake-on-LAN 实现“一键休眠所有”+“定时唤醒”
- 总结建议
可以的,针对“批量休眠”这个需求,取决于你想休眠的对象是什么,主要有以下几种常见的场景和对应的实用脚本。
明确一点: 这里的“休眠”通常指主机进入睡眠/挂起状态(S3睡眠),而不是“休眠到硬盘(S4休眠)”,因为从脚本批量触发S4(完全断电但保存状态)的兼容性较差,而S3(挂起到内存)是网络批量操作最常用的。
以下是三种最常见且实用的批量休眠脚本方案:
批量让局域网中的 Windows 电脑休眠(最实用)
如果你在一个公司内网或有域环境/相同管理员权限的工作组,可以用 PowerShell 脚本远程让多台电脑休眠。
核心原理: 利用 Windows 的远程关机命令 shutdown 或 WMI(Windows Management Interface)。
实用脚本(PowerShell):
# 批量休眠脚本 (需以管理员身份运行)
# 1. 定义你要休眠的电脑列表
$computers = @(
"PC-Office-01",
"PC-Office-02",
"192.168.1.101",
"192.168.1.102"
# 也可以从文本文件读取: Get-Content "C:\list.txt"
)
# 2. 遍历列表并发送休眠命令
foreach ($pc in $computers) {
Write-Host "正在尝试让 $pc 休眠..." -ForegroundColor Yellow
# 方法A:使用 shutdown (最简单,需要目标机开启远程注册表或权限允许)
# /h 代表休眠;/f 强制关闭正在运行的应用程序
shutdown /m \\$pc /h /f
# 方法B:shutdown 不行,可以试试 WMI (更底层)
# (Get-WmiObject -Class Win32_OperatingSystem -ComputerName $pc).Win32Shutdown(4)
# 注意: Win32Shutdown(4) 是S3睡眠,对于Win10/11可能需要特定权限
Start-Sleep -Seconds 2 # 稍作等待,避免命令冲突
}
Write-Host "批量休眠命令已发送完毕。" -ForegroundColor Green
前置条件(关键):
- 管理员权限: 运行脚本的用户必须是目标电脑的本地管理员组成员。
- 网络发现: 目标电脑需开启网络发现和文件共享,或防火墙放行
远程服务管理(RPC-EPMAP)。 - 注册表(如shutdown失败): 目标机可能需要修改注册表允许远程关机。
- 路径:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System - 新建DWORD:
LocalAccountTokenFilterPolicy= 1 (允许UAC账户远程管理)
- 路径:
批量让局域网中的 Linux 电脑休眠(服务端常用)
在 Linux 中,休眠(挂起)通常通过 rtcwake 或 systemctl 控制。
实用脚本(Bash):
#!/bin/bash
# 批量休眠脚本 (需通过 SSH Key 免密登录)
# 定义服务器列表
SERVERS=("server1.example.com" "server2.example.com" "192.168.1.200")
# SSH 用户名
USER="root"
for HOST in "${SERVERS[@]}"; do
echo "正在让 $HOST 休眠..."
# -t 5 表示延迟5秒后休眠;mem 是挂起到内存
ssh $USER@$HOST "echo mem > /sys/power/state"
# 或者使用 systemctl: ssh $USER@$HOST "systemctl suspend"
done
echo "批量休眠命令执行完成。"
前置条件:
- 配置了 SSH 免密登录(使用公钥)。
- 目标 Linux 主机已正确配置 ACPI(电源管理)。
- 通常需要
root权限或sudo免密执行systemctl suspend。
通过 Wake-on-LAN 实现“一键休眠所有”+“定时唤醒”
这是更高级的两步操作:先批量休眠,再定时/远程唤醒。
脚本逻辑:
- 用上述脚本让所有机器休眠。
- 记录下所有机器的 MAC 地址。
- 如果需要唤醒,发送魔术包(Wake-on-LAN)。
实用脚本片段(休眠+记录):
# PowerShell 休眠并输出 MAC 地址
$computers = @("PC1", "PC2")
foreach ($pc in $computers) {
shutdown /m \\$pc /h /f
# 获取该机器的 MAC 地址 (需要知道其IP)
$ip = [System.Net.Dns]::GetHostAddresses($pc) | Where-Object { $_.AddressFamily -eq 'InterNetwork' }
$mac = Get-WmiObject -Class Win32_NetworkAdapterConfiguration -ComputerName $pc | Where-Object { $_.IPEnabled -eq $true } | Select-Object -ExpandProperty MACAddress
Write-Output "$pc 的 MAC 地址: $mac"
}
总结建议
| 你的环境/需求 | 推荐方案 | 复杂程度 |
|---|---|---|
| 纯Windows内网 (有域或管理员权限) | PowerShell + shutdown /h |
低 |
| 混合环境 (Windows+Linux) | 分开写脚本,分别用 shutdown 和 systemctl |
中 |
| 想一键关+远程唤醒 | 编写脚本记录MAC,配合 WOL 工具 | 中高 |
| 不想写代码 | 使用免费的 Advanced IP Scanner (可以远程关机/休眠,但需安装代理) | 低 |
核心提醒: 批量休眠最容易出现的问题是 权限不足,如果你的电脑不是域控且没有本地管理员密码,shutdown 命令会失败,此时需要手动配置每台电脑的UAC策略(改注册表)或使用本地系统账户执行任务。
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播