用于远程保持计算机唤醒的 Powershell 脚本
Posted
技术标签:
【中文标题】用于远程保持计算机唤醒的 Powershell 脚本【英文标题】:Powershell script to keep computer awake remotely 【发布时间】:2013-10-09 06:47:36 【问题描述】:我和我的同事在全球商业环境中工作,这要求我们在员工离职后进行软件推出(以减少对生产力的影响),并且经常发生的情况是,由于我们的电源设置我无权更改,机器他们离开办公室后大约要睡 15 分钟,我仍然需要访问他们。他们没有收到或安装我发送的 SCCM 包,因为他们睡着了。由于我们拥有的硬件种类繁多,因此无法选择 LAN 唤醒
在 Powershell 中批量保持多台机器(可能超过 200 台)处于唤醒状态的最简单方法是什么?并且在这样做的时候不要关闭我们的网络?我正在寻找创建一个脚本,我宁愿不必将其推送到机器上,而是远程执行。
更新: 到目前为止,我同事的一个解决方案是在 CMD 中远程运行等待命令一段时间,但我不知道这是否会让它保持清醒?就电源管理而言,什么构成“活动”?
【问题讨论】:
【参考方案1】:我不想这么说,但我不确定你的手和你的德鲁特人被绑得有多紧。
一种半远程解决方案是将计划任务推送到您的客户端计算机。您可以在条件选项卡上指定Wake the computer to run this task
选项。 Action 可以从网络共享静默运行脚本、显示消息等。它实际执行的操作可能不是很重要,尽管可以对脚本进行编码以执行您认为在您的组织中有用的事情。
创造性地和安全地设置其他设置,我想不出任何明显的安全问题。
【讨论】:
我认为这将是一个非常简单的解决方案。我会看看我能做些什么来实现它。感谢 EdgeVB【参考方案2】:这里有 3 个简单的步骤,介绍如何创建批处理文件应用点击器,让您的 Windows 10 随时保持唤醒状态。
1 - 安装 Java JDK 下载链接:https://www.oracle.com/ca-en/java/technologies/javase-downloads.html
2- 将以下代码复制粘贴到记事本中,并将其另存为 CLICKER.JAVA 在您的驱动器中,例如 C:\CLICKER.JAVA
导入 java.awt.*; 导入 java.awt.event.InputEvent;
公共类点击器
public static void main(String[] args) throws Exception
Robot robot = new Robot();
while(true)
robot.mousePress(InputEvent.BUTTON1_DOWN_MASK);
robot.delay(60000);
robot.mousePress(InputEvent.BUTTON1_DOWN_MASK);
3- 打开另一个记事本并复制以下命令并将此文件作为批处理文件保存到您的桌面,例如 AWAKE.BAT
@echo 关闭
模式 con:cols=50 行=10
@echo 开始。按CTRL+C几次退出。
@echo 关闭
设置 root=C:\Program Files\Java\jdk-16.0.1\bin
cd %root%
java "c:\start.java"
【讨论】:
以上是关于用于远程保持计算机唤醒的 Powershell 脚本的主要内容,如果未能解决你的问题,请参考以下文章
在远程机器上启动应用程序并保持运行,powershell 脚本不应等待进程完成