2012-03-30 100 views
9

我正在linux機器上運行一個應用程序。通過給出Windows機器的IP地址作爲輸入,應用程序必須關閉Windows機器。如果機器運行相同的操作系統,這很容易,但我很困惑如何在跨操作系統。從linux終端關機Windows機器

回答

15

命令在Linux上關閉windows系統 - :

$ net rpc -S <ip address> -U <username>%<password> shutdown -t 1 -f

此命令可以從bash的發行,甚至在cron作業設置爲關機計算機在特定的時間,這個命令在默認情況下會附帶許多發行版。

+3

爲了重新啓動,在末尾添加'-r'開關。 – mivk 2013-04-20 20:01:22

+1

許多人需要正確配置windows和linux才能使此解決方案起作用。看看nouknouk的答案如果網絡命令不可用或者它不起作用 – ndemou 2016-01-17 20:44:12

0

選項1:在Windows上安裝SSH服務器。從任何方框登錄到此服務器並調用shutdown命令。我們使用Interix(微軟的unix環境)。它配備了一個telnet服務器 - 允許調用窗口從其他機器命令..

另一種選擇: 如果在Windows上安裝的桑巴它可以連接到Windows和調用Windows命令

net rpc SHUTDOWN ... 

(從http://www.linuxforums.org/forum/red-hat-fedora-linux/60324-remote-shutdown-windows-linux-box.html#post573872

另一種選擇: 嘗試的rdesktop到Windows機器關機命令(我用它來運行Windows批處理腳本,它已關閉在裏面,不知道你是否可以直接調用shutodwn)

1

這取決於您的基礎架構 - 您如何驗證Windows機器,是否可以自己配置它們等。如果是我,我會將Cygwin放在Windows盒子上,然後ssh給它們並運行shutdown -h。當然,還有其他方法可以做到這一點。

-1

使用telnet命令Linux,確保telnet is enabled in Windows system

+0

警告:這幾乎總是一個壞的建議。運行在服務器上的telnet服務器幾乎總是一個壞主意(如果你在過去的20年中一直處於困境中,請注意,telnet協議通過網絡以明文形式發送用戶名和密碼)。 – ndemou 2016-01-17 20:55:37

9

可能還有更多的設置做的,特別是對於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地址。

+1

嗨,我已經試過一切,使這個工作從我的raspberrie pi 2到Windows 8 PC,但我無法通過「連接失敗:NT_STATUS_ACCESS_DENIED」錯誤。 – tfonias74 2016-07-29 11:16:09