Làm cách nào để khởi động lại dịch vụ trên máy từ xa trong Windows? [đóng cửa]


138

Đôi khi trong khi gỡ lỗi, tôi cần khởi động lại một dịch vụ trên máy từ xa. Hiện tại, tôi đang làm điều này thông qua Remote Desktop. Làm thế nào nó có thể được thực hiện từ dòng lệnh trên máy cục bộ của tôi?


1
Không có câu trả lời nào trong số này giải thích cách thực hiện khởi động từ xa, trong khi xử lý các quyền người dùng cần có để thực hiện cuộc gọi dịch vụ.
djangofan

Câu trả lời:


206

Bạn có thể sử dụng bảng điều khiển dịch vụ, nhấp vào phía bên trái và sau đó chọn tùy chọn "Kết nối với máy tính khác" trong menu Hành động.

Nếu bạn chỉ muốn sử dụng dòng lệnh, bạn có thể sử dụng

sc \\machine stop <service>

1
Hoạt động hoàn hảo từ cmd.exe. Không hoạt động trong PowerShell, có thể là do lỗi \, lỗi sau: Set-Content: Không thể tìm thấy tham số khớp với tên tham số '[tên của dịch vụ]'. Chỉ có một nhược điểm nhỏ là nó đưa bạn trở lại dòng lệnh trước khi thao tác kết thúc.
Josh Kodroff

4
vì lệnh sc hoạt động không đồng bộ, nếu bạn cần kịch bản khởi động lại dịch vụ, hãy xem các tập lệnh bó tôi đã đăng ở đây: stackoverflow.com/questions/1405372/
Lỗi

6
Trên Powershell bạn cần sử dụng sc.exe \\machine stop <service>. Mặt khác, tôi nghĩ, sc đề cập đến một lệnh khác.
CJBrew

5
Tập hợp quyền tối thiểu cần thiết cho người dùng để bắt đầu một dịch vụ từ xa cụ thể trên máy tính từ xa là gì?
trấu

+1 cái này hoạt động không gặp rắc rối về quyền hạn, trái với những thứ như Invoke-Command \\ remote_machine {Start-Service ...} (yêu cầu Windows Remote Management được cấu hình trên remote_machine) và nó thắng được PsTools trong sc.exe đó theo mặc định với cài đặt Windows
hello_earth

41

Bạn có thể sử dụng mmc:

  1. Bắt đầu chạy. Nhập "mmc".
  2. Tệp / Thêm / Xóa Snap-in ... Nhấp vào "Thêm ..."
  3. Tìm "Dịch vụ" và nhấp vào "Thêm"
  4. Chọn "Máy tính khác:" và nhập tên máy chủ / địa chỉ IP của máy từ xa. Nhấp vào Kết thúc, Đóng, v.v.

Tại thời điểm đó, bạn sẽ có thể quản lý các dịch vụ như thể chúng ở trên máy cục bộ của bạn.


1
Rất tiếc, không thấy yêu cầu "dòng lệnh".
Ryan Duffield

7
Tôi cần mở khóa cổng nào trên máy chủ của mình?
Người đàn ông Muffin

2
Đây là vàng. Tôi đã luôn truy cập máy chủ từ xa để xử lý các dịch vụ. Bây giờ với điều này tôi có thể có một danh sách các máy chủ khác nhau trong cùng một bàn điều khiển.
Alan

9

Bạn có thể sử dụng lệnh PSEXEC của System Internals để thực thi từ xa một dịch vụ dừng mạng của bạn , sau đó bắt đầu dịch vụ của bạn


PSService cũng hữu ích. Có rất nhiều sức mạnh trong những công cụ đó.
Brad Bruce

7

Sử dụng dòng lệnh, bạn có thể làm điều này:

AT \\computername time "NET STOP servicename"
AT \\computername time "NET START servicename"

5
để làm cho nó rõ ràng, lệnh "AT" sử dụng bộ lập lịch cửa sổ để lên lịch một lệnh. nó quá mức cần thiết cho kịch bản một số lệnh từ xa và không đảm bảo thứ tự thực hiện hoặc hoàn thành lệnh trước lệnh tiếp theo. Lệnh SC tốt hơn nhiều cho việc này. Hãy xem các tập lệnh bó tôi đã đăng trong câu hỏi này: stackoverflow.com/questions/1405372/iêu
Eric Falsken

1

Tôi muốn đề nghị bạn nên xem RSHD

Bạn không cần phải bận tâm cho một khách hàng, Windows có nó theo mặc định.


0

Chà, nếu bạn có Visual Studio (tôi biết là vào năm 2005, không chắc chắn về các phiên bản trước đó), bạn có thể thêm máy từ xa vào thẻ "Server Explorer". Tại thời điểm đó, bạn sẽ có quyền truy cập vào DỊCH VỤ đang chạy hoặc có thể chạy từ máy đó (cũng như nhật ký sự kiện và hàng đợi và một vài điều thú vị khác).


Kỳ lạ thay, điều này hoạt động trong VS2005 nhưng KHÔNG trong VS2008. Bạn vẫn có thể TẠO các dịch vụ nhưng không còn bắt đầu hoặc dừng chúng trực tiếp nữa. Thay vì điều này, bạn có thể nhấp chuột phải vào nút Dịch vụ và khởi động Trình quản lý dịch vụ cho máy chủ đó.
Peter Wone

0

Một cách sẽ là kích hoạt máy chủ telnet trên máy bạn muốn điều khiển các dịch vụ trên (thêm / xóa các thành phần windows)

Mở dos prompt Nhập
telnet yourmachineip / name
Đăng nhập vào
loại net start & serviceName * eg w3svc

Điều này sẽ khởi động IIS hoặc bạn có thể sử dụng net stop để dừng dịch vụ.

Tùy thuộc vào thiết lập của bạn, bạn cần xem xét cách bảo mật kết nối telnet vì tôi nghĩ nó không được mã hóa.


2
Telnet chắc chắn là không được mã hóa.
Josh Kodroff

0

Một số giải pháp tốt ở đây. Nếu bạn vẫn đang sử dụng Win2K và không thể cài đặt bất cứ thứ gì trên máy tính từ xa, thì điều này cũng hoạt động:

Mở Bảng điều khiển quản lý máy tính (nhấp chuột phải vào Máy tính của tôi, chọn Quản lý; mở từ Công cụ quản trị trong Menu bắt đầu hoặc mở từ MMC bằng snap-in).

Nhấp chuột phải vào tên máy tính của bạn và chọn "Kết nối với máy tính từ xa"

Đặt tên máy tính và thông tin đăng nhập và bạn có toàn quyền truy cập vào nhiều chức năng quản trị viên bao gồm bảng điều khiển dịch vụ.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.