Příkaz k vypnutí systému Windows z linuxu -:
$ net rpc -S <ip address> -U <username>%<password> shutdown -t 1 -f
Tento příkaz lze vydat z bash nebo dokonce nastavit v úloze cron pro vypnutí počítače v určitou dobu a tento příkaz je standardně dodáván s mnoha distribucemi.
Může být potřeba udělat více nastavení, zejména pro Windows Vista, Windows 7 a další verze Windows, aby bylo možné vzdálené vypnutí:
Část A) Na počítači se systémem Windows:
1) Přidejte zásady zabezpečení vzdáleného vypnutí:
-
spustit
secpol.msc
-
ve stromu programu otevřete
Security Settings
>Local Policies
>User rights Assignment
-
Najděte záznam
Force shutdown from a remote system
-
Upravte záznam, přidejte uživatelský účet systému Windows, který bude použit pro vypnutí (např.:nouknouk)
2) Přidáním klíčů registru zakážete vzdálená omezení UAC:
-
Spusťte
regedit.exe
jako správce -
Najděte
HKLM/SOFTWARE/Microsoft/Windows/CurrentVersion/Policies/System
-
Vytvořte nový registr
DWORD(32)
hodnota s názvemLocalAccountTokenFilterPolicy
a pak mu přiřaďte hodnotu1
3) Spusťte službu vzdáleného registru:
-
Otevřete
cmd.exe
jako správce -
Proveďte dva následující příkazy:
sc config RemoteRegistry start= auto
sc start RemoteRegistry
Část B) Na počítači se systémem Linux:
1) nainstalujte balíček samba-common
:
Záleží na vaší distribuci Linuxu, ale pro Debian a odvozené (Ubuntu, Linux Mint, ...) lze příkaz apt-get provést takto:
apt-get install samba-common
2) Chcete-li skutečně vypnout počítač se systémem Windows z počítače Linux, spusťte následující příkaz:
net rpc shutdown -f -t 0 -C 'message' -U userName%password -I xxx.yyy.zzz.ttt
Kde:
-
-f
znamená vynucení ukončení všech aplikací (může být povinné) -
-t 0
je zpoždění, než to uděláte (0 znamená 'právě teď'). -
-U user%password
je místní uživatel a jeho heslo na počítači se systémem Windows (to, kterému bylo povoleno vzdálené vypnutí v části A). -
-I
je IP adresa počítače se systémem Windows, který se má vypnout.