Làm cách nào để thực thi các lệnh Windows từ xa từ máy Linux bằng lệnh rdesktop?


20

Có thể chạy các lệnh Windows bằng rdesktopcông cụ trong Linux không? Tôi đã thử với rdesktop -stùy chọn:

rdesktop -u user -p 10.0.0.2 -s "cmd.exe"

nhưng tôi không thể mở lệnh cmd.exebằng cách sử dụng lệnh trên, tôi cũng đã thử với đường dẫn đầy đủ:

rdesktop -u user -p'password' 10.0.0.2 -s "C:\WINDOWS\system32\cmd.exe"

nhưng không có sự khác biệt trong phiên RDP ngay cả khi tôi sử dụng -s.

Tôi đang cố gắng để có được danh sách các phiên RDP sử dụng qwinsta /servertrong Windows từ Linux.


Có lẽ bởi vì chỉ quản trị viên mặc định mới có thể thực hiện các tác vụ mà không được thăng cấp. Bất kỳ tài khoản nào khác, ngay cả với các quyền chính xác, sẽ đóng vai trò là quản trị viên.


Bạn đã xem các công cụ psexec cho windows chưa? Họ có thể chạy theo RƯỢU.
jc__

Câu trả lời:


5

Nếu bạn có quyền truy cập vào máy tính, hãy cài đặt máy chủ ssh trên đó. Trên Linux, bạn có thể sử dụng ví dụ Overlook-Finger để tìm IP của máy tính. Sau đó, bạn gõ ssh username@ipaddressvào shell Linux.

Thí dụ:

ssh Lenovo@192.168.0.100

Sau đó nhập mật khẩu của người dùng và bạn sẽ có quyền truy cập vào Dấu nhắc lệnh của máy tính. Bạn cũng có thể sử dụng telnet nhưng ssh được mã hóa.


4

Tôi không có giải pháp sử dụng rdesktopnhưng tôi sử dụng chương trình được gọi winexetrên Linux để thực thi các lệnh từ xa trên máy Windows. Bạn có thể tải ứng dụng từ URL sau hoặc sử dụng hệ thống kho lưu trữ phần mềm phân phối của mình để cài đặt ứng dụng.

http://sourceforge.net/projects/winexe/

CẬP NHẬT: Chứng chỉ SSL là tự ký cho liên kết sourceforge ở trên, vì vậy tôi đang cung cấp một liên kết khác:

https://github.com/skalkoto/winexe

Đây là một ví dụ về việc sử dụng:

winexe -A credentials.cfg //remotehost "qwinsta /server"

Bạn sẽ muốn tạo một tệp tin xác thực với thông tin đăng nhập như sau:

username=user
password=pass
domain=workplace

Chỉ cung cấp tên miền nếu nó áp dụng cho bạn. Đó là cách tốt nhất để không đặt thông tin đăng nhập của bạn (đặc biệt là mật khẩu) trên dòng lệnh. Hãy thử chạy cmd.exebằng ví dụ trên nếu bạn muốn một dấu nhắc tương tác. Điều thú vị về cách tiếp cận này là bạn có thể sử dụng đầu ra của lệnh từ xa trong các tập lệnh Linux của bạn hoặc grep đầu ra.


Trong Winexe, người dùng phải là "quản trị viên" để hoạt động chính xác, nhưng trong trường hợp của tôi, tôi đang thử với người dùng RDP bình thường, vì vậy Winexe sẽ không hoạt động.
Augustin

@Augustin: "Nên" nghĩa là gì? Bạn đã đọc nó ở đâu đó, hoặc bạn đã thử nó và nó không hoạt động nếu tên người dùng khác hơn administrator? Bạn đã thực sự thử nó chưa?
Bananguin

Winexe sẽ cài đặt một số gói trong Windows Machine, sau đó chỉ có nó mới hoạt động và không thể cài đặt gói với người dùng thông thường.
Augustin

3

Kể từ hôm nay, bạn có thể sử dụng xfreerdptính năng RemoteApp để thực thi phần mềm cụ thể:

  1. Kích hoạt RemoteApps trên máy chủ Windows. Nên dễ dàng như chỉnh sửa registry ;
  2. Cài đặt xfreerdptrên máy chủ Linux của bạn. Có các bản dựng sẵn sàng để sử dụng cho Ubuntu, Debian, Fedora, OpenSUSE và macOS.
  3. Thực hiện lệnh xfreerdp /u:user /d:domain /p:password /app:"||calc" /v:servertrong đó:
    • /u:- Người dùng Windows
    • /d:- Tên miền (có thể WORKGROUPnếu không tham gia quảng cáo)
    • /p:- Mật khẩu Windows
    • /app:"||calc"- Ứng dụng được thực thi. Có thể cmdnhư bạn muốn
    • /v:- Địa chỉ IP hoặc Tên máy chủ của máy chủ Windows.

0

Tôi đã phát triển collectnode, sử dụng winrmgiao thức để kết nối với Windows.

đầu tiên: tạo tập tin máy chủ:

# cat hosts.file


    [group1:vars] 
    nodetype=windows



    [group1] 
    server1
    server2
    server3
    server4
    server5

thứ hai: định cấu hình thông tin xác thực tại Sưu tầm

# collectnode --configure
Do you want to change the localhost User ? [y/n]: n
Do you want to change the UNIX/LINUX User used the connect to the servers? [y/n]: n
Do you want to change the WINDOWS User used the connect to the servers? [y/n]: y
Enter user name: Administrator
Enter password:
Enter domain|realm [none]: none
Enter transport mode (basic|ntlm|kerberos) [kerberos]: ntlm
Current path: /var/log/
Do you want to change the current path for log file? [y/n]: n

Thứ ba: Thực hiện bất kỳ lệnh nào bạn cần tại các máy chủ này:

# collectnode --file hosts.file --command='whatever command you need'

https://collectnode.com/executing-commands-on-remote-windows-from-linux-terminal/


2
Liên kết không hoạt động và không có nó, câu trả lời là vô ích.
Andrew Savinykh
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.