我有 2 台笔记本电脑,一台运行 Windows 7 计算机,另一台运行 Ubuntu 12.04。我正在尝试弄清楚如何为 Windows 编写批处理脚本,以便让我同时关闭两台计算机。
我可以使用 WOL 功能来实现这一点吗?还是需要在 Linux 机器上运行某种守护进程?我真的不想让 RDP 或 VNC 之类的客户端持续运行。
答案1
创建一个名为的文件,shutdown.sh
其中包含:
sudo shutdown -h now
创建shutdown.bat
文件
putty.exe -ssh -l user -pw password 1.2.3.4 -m shutdown.sh
SHUTDOWN /s /t 60 /c "Shutdown in progress"
查找 ssh-keys 以允许从脚本基于密钥而不是基于密码登录到 Linux 机器。
请注意,默认情况下,您需要为 sudo 输入密码,这在脚本中非常不安全。(任何找到该脚本的人现在都可以 root 您的另一台机器。)解决方法是启用命令而shutdown
无需 root 即可运行。请参阅答案这里启用此功能。最好的方法是将以下内容添加到/etc/sudoers
:
%sudo ALL = NOPASSWD: /sbin/shutdown, /sbin/poweroff, /sbin/halt, /sbin/reboot
但请注意,这允许任何用户重新启动您的机器。