我正在linux机器上运行一个应用程序。通过将 Windows 机器的 IP 地址作为输入,应用程序必须关闭 Windows 机器。如果机器运行相同的操作系统,这很容易,但我很困惑如何在跨操作系统中做到这一点。
原文由 ganesshkumar 发布,翻译遵循 CC BY-SA 4.0 许可协议
我正在linux机器上运行一个应用程序。通过将 Windows 机器的 IP 地址作为输入,应用程序必须关闭 Windows 机器。如果机器运行相同的操作系统,这很容易,但我很困惑如何在跨操作系统中做到这一点。
原文由 ganesshkumar 发布,翻译遵循 CC BY-SA 4.0 许可协议
可能需要进行更多设置,尤其是对于 Windows Vista、Windows 7 和其他 Windows 版本,以允许远程关机:
A 部分)在 Windows 机器上:
1)添加远程关机安全策略:
运行 secpol.msc
在程序树中,打开 Security Settings
> Local Policies
> User rights Assignment
找到条目 Force shutdown from a remote system
编辑条目,添加将用于关机的 Windows 用户帐户(例如:nouknouk)
2)添加注册表项以禁用UAC远程限制:
以管理员身份运行 regedit.exe
找到 HKLM/SOFTWARE/Microsoft/Windows/CurrentVersion/Policies/System
创建一个新的注册表 DWORD(32)
值命名为 LocalAccountTokenFilterPolicy
然后给它赋值 1
3)启动远程注册服务:
以管理员身份打开 cmd.exe
执行以下两个命令:
sc config RemoteRegistry start= auto
sc start RemoteRegistry
B 部分)在 Linux 机器上:
1)安装包 samba-common
:
这取决于您的 Linux 发行版,但对于 Debian 及其衍生版本(Ubuntu、Linux Mint…),apt-get 命令可以这样执行:
apt-get install samba-common
net rpc shutdown -f -t 0 -C 'message' -U userName%password -I xxx.yyy.zzz.ttt
在哪里:
-f
表示强制关闭所有应用程序(可能是强制性的)
-t 0
是在执行之前的延迟(0 表示“现在”)。
-U user%password
是 Windows 机器上的本地用户和他的密码(在 A 部分中允许远程关机的那个)。
-I
是要关机的windows机器的IP地址。
原文由 nouknouk 发布,翻译遵循 CC BY-SA 3.0 许可协议
7 回答5.3k 阅读
4 回答4k 阅读
2 回答5.9k 阅读✓ 已解决
2 回答2.5k 阅读✓ 已解决
1 回答2.3k 阅读✓ 已解决
2 回答795 阅读✓ 已解决
2 回答3.2k 阅读
从linux关闭windows系统的命令-:
$ net rpc -S <ip address> -U <username>%<password> shutdown -t 1 -f
此命令可以从 bash 发出,甚至可以在 cron 作业中设置以在特定时间关闭计算机,并且默认情况下,此命令随许多发行版一起提供。