Bagaimana cara menjalankan perintah Windows dari mesin Linux dari jarak jauh menggunakan perintah rdesktop?

20

Apakah mungkin menjalankan perintah Windows menggunakan rdesktopalat di Linux? Saya mencoba dengan rdesktop -sopsi:

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

tapi saya tidak bisa membuka cmd.exemenggunakan perintah di atas, juga saya mencoba dengan path lengkap:

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

tetapi tidak ada perbedaan dalam sesi RDP bahkan jika saya menggunakan -s.

Saya mencoba untuk mendapatkan daftar sesi RDP menggunakan qwinsta /serverdi Windows dari Linux.

Augustin
sumber
Mungkin karena hanya admin default yang dapat melakukan tugas tanpa dipromosikan untuk melanjutkan. Akun lain mana pun, bahkan dengan izin yang benar, akan bertindak sebagai admin.
Sudahkah Anda melihat alat psexec untuk windows? Mereka mungkin berjalan di bawah WINE.
jc__

Jawaban:

5

Jika Anda memiliki akses ke komputer, instal server ssh di atasnya. Di Linux Anda dapat menggunakan misalnya Overlook-Fing untuk menemukan IP komputer. Kemudian Anda mengetikkan ssh username@ipaddressshell Linux.

Contoh:

ssh [email protected]

Kemudian ketikkan kata sandi pengguna dan Anda harus memiliki akses ke Prompt Perintah Windows komputer. Anda juga bisa menggunakan telnet tetapi ssh dienkripsi.

aka91x
sumber
4

Saya tidak punya solusi menggunakan rdesktoptetapi saya menggunakan program yang disebut winexedi Linux untuk menjalankan perintah jarak jauh pada mesin Windows. Anda bisa mendapatkan aplikasi dari URL berikut atau menggunakan sistem repositori perangkat lunak distribusi Anda untuk menginstalnya.

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

UPDATE: Cert SSL ditandatangani sendiri untuk tautan sourceforge di atas, jadi saya memberikan tautan lain:

https://github.com/skalkoto/winexe

Berikut ini contoh penggunaannya:

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

Anda ingin membuat file credentials.cfg dengan informasi login sebagai berikut:

username=user
password=pass
domain=workplace

Hanya berikan domain jika berlaku untuk Anda. Ini adalah praktik terbaik untuk tidak memasukkan kredensial masuk Anda (terutama kata sandi) di baris perintah. Coba jalankan cmd.exemenggunakan contoh di atas jika Anda ingin prompt interaktif. Yang menyenangkan tentang pendekatan ini adalah bahwa Anda dapat menggunakan output dari perintah remote di skrip Linux Anda atau grep output.

cmevoli
sumber
Di pengguna winexe harus "administrator" untuk bekerja dengan baik, tetapi dalam kasus saya, saya mencoba dengan pengguna RDP normal, sehingga winexe tidak akan berfungsi.
Augustin
@ Augustin: Apa artinya "harus"? Apakah Anda membacanya di suatu tempat, atau sudahkah Anda mencobanya dan tidak berfungsi jika nama pengguna itu selain dari itu administrator? Sudahkah Anda mencobanya?
Bananguin
Winexe akan menginstal beberapa paket di Mesin Windows, maka hanya itu yang akan bekerja dan instalasi paket tidak dimungkinkan dengan pengguna biasa.
Augustin
3

Mulai hari ini, Anda dapat menggunakan xfreerdpdengan fitur RemoteApp untuk menjalankan perangkat lunak tertentu:

  1. Aktifkan RemoteApps pada host Windows. Seharusnya semudah mengedit registri ;
  2. Instal xfreerdpdi host Linux Anda. Ada build yang siap digunakan untuk Ubuntu, Debian, Fedora, OpenSUSE dan macOS.
  3. Jalankan perintah di xfreerdp /u:user /d:domain /p:password /app:"||calc" /v:servermana:
    • /u:- Pengguna Windows
    • /d:- Domain (bisa jadi WORKGROUPjika tidak bergabung dengan AD)
    • /p:- Kata sandi Windows
    • /app:"||calc"- Aplikasi yang akan dieksekusi. Bisa cmdseperti yang Anda inginkan
    • /v:- Alamat IP atau Nama Host dari host Windows.

sumber
0

Saya telah mengembangkan collectnode, yang menggunakan winrmprotokol untuk terhubung dengan Windows.

pertama: buat file host:

# cat hosts.file


    [group1:vars] 
    nodetype=windows



    [group1] 
    server1
    server2
    server3
    server4
    server5

kedua: konfigurasikan kredensial di CollectNode

# 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

ketiga: Jalankan perintah yang Anda butuhkan di server ini:

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

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

fvidalmolina
sumber
2
Tautan tidak berfungsi dan tanpanya, jawabannya tidak berguna.
Andrew Savinykh