2012-03-30 49 views
9

Tôi đang chạy một ứng dụng trên máy linux. Bằng cách cho địa chỉ IP của một máy tính cửa sổ làm đầu vào, ứng dụng phải tắt máy cửa sổ. Nếu các máy chạy cùng một hệ điều hành thì nó rất dễ nhưng tôi đã nhầm lẫn cách thực hiện nó trong hệ điều hành chéo.Tắt máy Windows từ thiết bị đầu cuối linux

Trả lời

15

Command để cửa sổ shutdown hệ thống từ linux -:

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

Lệnh này có thể được ban hành từ bash hoặc thậm chí thiết lập trong công việc định kỳ để tắt máy máy tính tại một thời điểm cụ thể và lệnh này được vận chuyển với nhiều bản phân phối theo mặc định.

+3

Và để khởi động lại, thêm công tắc '-r' ở cuối. – mivk

+1

Bạn cần phải cấu hình các cửa sổ và Linux đúng cách để giải pháp này hoạt động. Nhìn vào câu trả lời của nouknouk nếu lệnh net không có sẵn hoặc nếu nó không hoạt động – ndemou

0

Tùy chọn 1: Cài đặt máy chủ SSH trên cửa sổ. Đăng nhập vào máy chủ này từ bất kỳ hộp nào và gọi lệnh tắt máy. Chúng tôi sử dụng Interix (Microsoft unix giống như môi trường). Nó đi kèm với một telnet Server-cho phép để gọi cửa sổ lệnh từ các máy khác ..

Một lựa chọn khác: Nếu bạn samba được cài đặt trên cửa sổ nó có thể kết nối với các cửa sổ và gọi cửa sổ lệnh

net rpc SHUTDOWN ... 

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

Một tùy chọn khác: thử rdesktop vào máy cửa sổ với lệnh tắt máy (tôi sử dụng nó để chạy cửa sổ hàng loạt kịch bản trong đó có tắt máy ở trong đó, không chắc chắn nếu bạn có thể trực tiếp gọi shutodwn)

1

Tùy thuộc vào cơ sở hạ tầng của bạn - cách bạn xác thực với máy Windows, cho dù bạn có thể định cấu hình chúng, v.v. Nếu là tôi, tôi đặt Cygwin trên hộp Windows, sau đó ssh cho chúng và chạy shutdown -h. Dĩ nhiên, có nhiều cách khác để làm điều đó.

1

Bạn cần một cách để khởi chạy trình bao trên hộp Windows để bạn có thể chạy lệnh shutdown được cài sẵn trong Windows.

Bạn có thể cài đặt Cygwin cho việc này, sau đó cài đặt SSH daemon trong Windows. Khi chạy, hộp Linux của bạn có thể chạy các lệnh trên hộp Windows giống như là một máy Linux khác.

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

-1

Sử dụng telnet lệnh trong Linux, hãy chắc chắn telnet is enabled in Windows system

+0

CẢNH BÁO: Điều này hầu như luôn luôn là LỜI LÊN BAD. Một máy chủ telnet chạy trong máy chủ của bạn hầu như luôn là một ý tưởng tồi (nếu bạn ở dưới một tảng đá trong 20 năm qua, xin lưu ý rằng giao thức telnet gửi tên người dùng và mật khẩu trong văn bản rõ ràng qua mạng của bạn). – ndemou

9

Có thể được thiết lập hơn để làm, nhất là đối với Windows Vista, Windows 7 và Windows phiên bản tiếp theo, cho phép tắt máy từ xa:

Phần A) Trên máy tính Windows:

1) Thêm một chính sách an ninh shutdown từ xa:

  • chạy secpol.msc

  • trong cây chương trình, mở Security Settings>Local Policies>User rights Assignment

  • Tìm các entry Force shutdown from a remote system

  • Chỉnh sửa mục, thêm tài khoản cửa sổ người dùng sẽ được sử dụng cho tắt máy (ví dụ: nouknouk)

2) Thêm khóa registry để vô hiệu hóa UAC hạn chế từ xa:

  • Run regedit.exe as Administrator

  • Tìm HKLM/SOFTWARE/Microsoft/Windows/CurrentVersion/Policies/System

  • Tạo một giá trị registry DWORD(32) mới có tên LocalAccountTokenFilterPolicy và sau đó gán cho nó giá trị 1

3) Bắt đầu dịch vụ đăng ký từ xa:

  • Ope n cmd.exe as Administrator

  • Execute hai lệnh sau:

    sc config RemoteRegistry start= auto

    sc start RemoteRegistry

Phần B) Trên máy Linux:

1) cài đặt gói samba-common:

Nó phụ thuộc vào bản phân phối Linux của bạn, nhưng đối với Debian và có nguồn gốc (Ubuntu, Linux Mint, ...), Lệnh apt-get thể được thực hiện như thế:

apt-get install samba-common

2) Để thực sự tắt máy tính Windows của bạn từ Linux một, chạy lệnh sau:

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

đâu :

  • -f có nghĩa là tắt tất cả ứng dụng (có thể bắt buộc)

  • -t 0 là độ trễ trước khi thực hiện (0 có nghĩa là 'ngay bây giờ').

  • -U user%password là người dùng cục bộ và mật khẩu của họ trên máy cửa sổ (máy đã được phép tắt máy từ xa trong phần A).

  • -I là địa chỉ IP của máy tính Windows để tắt máy.

+1

Xin chào, tôi đã thử mọi thứ để thực hiện công việc này từ raspberrie pi 2 của tôi tới Windows 8 PC nhưng tôi không thể vượt qua lỗi "Kết nối thất bại: NT_STATUS_ACCESS_DENIED" . – tfonias74

Các vấn đề liên quan