我正在linux機器上運行一個應用程序。通過給出Windows機器的IP地址作爲輸入,應用程序必須關閉Windows機器。如果機器運行相同的操作系統,這很容易,但我很困惑如何在跨操作系統。從linux終端關機Windows機器
回答
命令在Linux上關閉windows系統 - :
$ net rpc -S <ip address> -U <username>%<password> shutdown -t 1 -f
此命令可以從bash的發行,甚至在cron作業設置爲關機計算機在特定的時間,這個命令在默認情況下會附帶許多發行版。
選項1:在Windows上安裝SSH服務器。從任何方框登錄到此服務器並調用shutdown命令。我們使用Interix(微軟的unix環境)。它配備了一個telnet服務器 - 允許調用窗口從其他機器命令..
另一種選擇: 如果在Windows上安裝的桑巴它可以連接到Windows和調用Windows命令
net rpc SHUTDOWN ...
另一種選擇: 嘗試的rdesktop到Windows機器關機命令(我用它來運行Windows批處理腳本,它已關閉在裏面,不知道你是否可以直接調用shutodwn)
這取決於您的基礎架構 - 您如何驗證Windows機器,是否可以自己配置它們等。如果是我,我會將Cygwin放在Windows盒子上,然後ssh
給它們並運行shutdown -h
。當然,還有其他方法可以做到這一點。
您需要一種方法在Windows窗口中啓動shell,以便運行內置於Windows的shutdown命令。
您可以爲此安裝Cygwin,然後在Windows中安裝SSH守護程序。運行後,您的Linux機器可以在Windows機器上運行命令,就像它是另一臺Linux機器一樣。
Here are some instructions for setting up Cygwin's sshd in Windows。
可能還有更多的設置做的,特別是對於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
創建一個名爲
LocalAccountTokenFilterPolicy
一個新的註冊表DWORD(32)
值,然後分配給它的價值1
3)啓動遠程註冊表服務:
Ope Ñ
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
2)要真正從Linux的一個關閉您的Windows機器上,運行以下命令:
net rpc shutdown -f -t 0 -C 'message' -U userName%password -I xxx.yyy.zzz.ttt
在哪裏:
-f
意味着強制關閉所有的應用程序(可能是強制性的)-t 0
是這樣做之前的延遲(0表示'現在')。-U user%password
是Windows機器上的本地用戶和他的密碼(允許遠程關機的部分)。-I
是要關機的Windows機器的IP地址。
嗨,我已經試過一切,使這個工作從我的raspberrie pi 2到Windows 8 PC,但我無法通過「連接失敗:NT_STATUS_ACCESS_DENIED」錯誤。 – tfonias74 2016-07-29 11:16:09
- 1. Shell腳本從Linux機器的文件複製到Windows機器
- 2. 從UNIX/LINUX機器在Windows計算機上執行命令
- 3. Arch Linux關機
- 4. Windows關機定時器終止計時器結合
- 5. 從Windows和Linux的Linux機器訪問文件夾
- 6. 字符不是從主機到從機的僞終端
- 7. Windows機器中的UNIX/LINUX本地主機服務器
- 8. 在Linux機器
- 9. 從Linux終端查詢Web服務器
- 10. 創建AWS EC2 Linux服務的機器作爲Jenkins主機和本地Windows機器作爲從機
- 11. 打開Windows共享通過Linux機器
- 12. 在Windows機器上運行python vs Linux
- 13. Linux機器上的TPTP客戶端
- 14. 連接到虛擬機從Windows機器
- 15. Linux的X終端開關端子
- 16. 從Linux服務器到Windows機器的RSYSLOG
- 17. SoapUI終端錯誤隨機
- 18. 從Matlab啓動Linux終端
- 19. 編譯從Linux終端
- 20. 如何在遠程Ubuntu機從Ubuntu機用sh或終端
- 21. PHP目錄結構:從Linux主機轉移到Windows主機
- 22. 防止Windows關機
- 23. 點對點:Windows機器上的端口
- 24. 從windows手機客戶端調用ashx
- 25. 在Linux終端
- 26. ImageMagick,Linux終端
- 27. 在Linux終端
- 28. 如何將Jprofiler從Windows機器運行到遠程Linux JVM
- 29. 將drupal站點從Windows遷移到Linux機器
- 30. 從Windows機器遠程運行Linux進程
爲了重新啓動,在末尾添加'-r'開關。 – mivk 2013-04-20 20:01:22
許多人需要正確配置windows和linux才能使此解決方案起作用。看看nouknouk的答案如果網絡命令不可用或者它不起作用 – ndemou 2016-01-17 20:44:12