2012-03-30 13 views
9

Mam uruchomioną aplikację na komputerze z systemem Linux. Podając adres ip komputera Windows jako wejścia, aplikacja musi zamknąć maszynę Windows. Jeśli komputery działają w tym samym systemie operacyjnym, jest to bardzo łatwe, ale nie jestem pewien, jak to zrobić w systemie krzyżowym.Zamykanie komputera z systemem Windows z terminalu linux

Odpowiedz

15

polecenie do systemu zamykania systemu Windows z Linuksa -:

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

Komenda ta może być wydana z bash lub nawet ustawić w cron do zamykania komputera w określonym czasie, a to polecenie jest domyślnie dostarczane z wieloma dystrybucjami.

+3

I do ponownego uruchomienia, dodaj przełącznik '-r' na końcu. – mivk

+1

Wiele osób musi poprawnie skonfigurować system Windows i Linux, aby to rozwiązanie działało. Spójrz na odpowiedź nouknouka, jeśli polecenie net nie jest dostępne lub nie działa – ndemou

0

Opcja 1: Zainstaluj serwer SSH w systemie Windows. Zaloguj się do tego serwera z dowolnego pola i wywołaj komendę shutdown. Używamy Interix (środowisko Microsoft podobne do Uniksa). Chodzi o telnet server- pozwala, aby wywołać okno poleceń z innymi maszynami ..

Inna opcja: Jeśli samba zainstalowany w systemie Windows może połączyć się z Windows i Windows wywołać komendy

net rpc SHUTDOWN ... 

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

Inna opcja: try rdesktop do komputera z systemem Windows z polecenia shutdown (używam go z systemem Windows partii skrypt, który się wyłączył w nim, nie wiem, czy można wywołać bezpośrednio shutodwn)

1

To zależy od infrastruktury - sposobu uwierzytelniania na komputerach z systemem Windows, niezależnie od tego, czy możesz je skonfigurować samodzielnie, itp. Gdyby to było ja, wstawiłbym do nich Cygwin, a następnie ssh i uruchomiłam shutdown -h. Oczywiście są na to inne sposoby.

1

Potrzebny jest sposób uruchomienia powłoki w oknie systemu Windows, aby można było uruchomić polecenie th shutdown wbudowane w system Windows.

Można zainstalować w tym celu Cygwin, a następnie zainstalować demona SSH w systemie Windows. Po uruchomieniu skrzynka Linux może uruchamiać polecenia w systemie Windows, tak jakby była to inna maszyna z systemem Linux.

Here are some instructions for setting up Cygwin's sshd in Windows.

-1

Zastosowanie telnet polecenie Linux, upewnij telnet is enabled in Windows system

+0

OSTRZEŻENIE: To prawie zawsze ZŁE PORADY. Serwer telnetowy uruchomiony na twoim serwerze prawie zawsze jest złym pomysłem (jeśli byłeś pod rockiem przez ostatnie 20 lat, zwróć uwagę, że protokół telnet wysyła nazwy użytkowników i hasła w postaci zwykłego tekstu za pośrednictwem twojej sieci). – ndemou

9

Może być więcej setup do zrobienia, zwłaszcza dla kolejnych wersjach systemu Windows Vista, Windows 7 oraz, aby umożliwić zdalne wyłączanie:

Część A) na komputerze z systemem Windows:

1) Dodaj zdalne wyłączanie polityka bezpieczeństwa:

  • run secpol.msc

  • w drzewie programu otwarty Security Settings>Local Policies>User rights Assignment

  • Znajdź wpis Force shutdown from a remote system

  • edytować wpis, dodać konto użytkownika systemu Windows, który będzie używany do zamykania (np nouknouk)

2) Dodaj kluczy rejestru, aby wyłączyć UAC zdalnych ograniczenia:

  • Run regedit.exe jako Administrator

  • Znajdź HKLM/SOFTWARE/Microsoft/Windows/CurrentVersion/Policies/System

  • Utwórz nowy rejestr DWORD(32) wartość o nazwie LocalAccountTokenFilterPolicy a następnie przypisać mu wartość 1

3) Uruchomienie usługi zdalnego rejestru:

  • Ope n cmd.exe jako Administrator

  • wykonać dwa następujące polecenia:

    sc config RemoteRegistry start= auto

    sc start RemoteRegistry

Część B) Na komputerze z systemem Linux:

1) zainstalować pakiet samba-common:

To zależy od twojej dystrybucji Linuksa, ale od Debiana i derywacji (Ubuntu, Linux Mint, ...), Polecenie apt-get można wykonać tak:

apt-get install samba-common

2) Aby faktycznie zamknięcie urządzenia Windows z Linuksem jednym, uruchom następujące polecenie:

net rpc shutdown -f -t 0 -C 'message' -U userName%password -I xxx.yyy.zzz.ttt

Gdzie :

  • -f oznacza siłę zamknięcie wszystkich aplikacji (może być wymagane)

  • -t 0 to opóźnienie przed wykonaniem tej czynności (0 oznacza "teraz").

  • -U user%password to lokalny użytkownik i jego hasło na komputerze z systemem Windows (tym, któremu zezwolono na zdalne wyłączenie w części A).

  • -I to adres IP komputera z systemem Windows do zamknięcia.

+1

Witam, próbowałem wszystkiego, aby to działało z mojego raspberrie pi 2 na Windows 8 PC, ale nie mogę uzyskać błędu "Błąd połączenia: NT_STATUS_ACCESS_DENIED" . – tfonias74

Powiązane problemy