วิธีการรันคำสั่ง Windows จากระยะไกลจากเครื่อง Linux โดยใช้คำสั่ง rdesktop?


20

เป็นไปได้ไหมที่จะใช้คำสั่ง Windows โดยใช้rdesktopเครื่องมือใน Linux? ฉันลองด้วยrdesktop -sตัวเลือก:

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

แต่ฉันไม่สามารถเปิดcmd.exeใช้คำสั่งดังกล่าวได้ฉันก็ลองใช้เส้นทางแบบเต็ม:

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

แต่มีความแตกต่างในเซสชั่น RDP -sแม้ว่าผมใช้ไม่มี

ฉันพยายามรับรายการเซสชัน RDP ที่ใช้qwinsta /serverใน Windows จาก Linux


อาจเป็นเพราะผู้ดูแลระบบเริ่มต้นเท่านั้นที่สามารถทำงานได้โดยไม่เลื่อนขั้นเป็น prpceed บัญชีอื่น ๆ แม้จะมีสิทธิ์ที่ถูกต้องก็จะทำหน้าที่เป็นผู้ดูแลระบบ


คุณดูเครื่องมือ psexec สำหรับ windows แล้วหรือยัง? พวกเขาอาจทำงานภายใต้ WINE
jc__

คำตอบ:


5

หากคุณมีสิทธิ์เข้าถึงคอมพิวเตอร์ให้ติดตั้งเซิร์ฟเวอร์ ssh บน Linux คุณสามารถใช้ Overlook-Fing เพื่อค้นหา IP ของคอมพิวเตอร์ จากนั้นคุณพิมพ์ ssh username@ipaddressลงในเชลล์ Linux

ตัวอย่าง:

ssh Lenovo@192.168.0.100

จากนั้นพิมพ์รหัสผ่านของผู้ใช้และคุณควรเข้าใช้งาน Windows Command Prompt ของคอมพิวเตอร์ คุณสามารถใช้ telnet ได้ แต่ถูกเข้ารหัสด้วย ssh


4

ฉันไม่มีวิธีใช้rdesktopแต่ฉันใช้โปรแกรมที่เรียกใช้winexeบน Linux เพื่อรันคำสั่งระยะไกลบนเครื่อง Windows คุณสามารถรับแอพพลิเคชั่นได้จาก URL ต่อไปนี้หรือใช้ระบบที่เก็บซอฟต์แวร์ของคุณเพื่อติดตั้ง

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

UPDATE: ใบรับรอง SSL นั้นเซ็นชื่อด้วยตนเองสำหรับลิงก์ sourceforge ด้านบนดังนั้นฉันจึงให้ลิงก์อื่น:

https://github.com/skalkoto/winexe

นี่คือตัวอย่างของการใช้งาน:

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

คุณจะต้องการสร้างไฟล์หนังสือรับรอง. cfg ด้วยข้อมูลเข้าสู่ระบบดังนี้:

username=user
password=pass
domain=workplace

ระบุโดเมนเฉพาะในกรณีที่เกี่ยวข้องกับคุณ เป็นวิธีที่ดีที่สุดที่จะไม่ใส่ข้อมูลรับรองการเข้าสู่ระบบของคุณ (โดยเฉพาะรหัสผ่าน) ในบรรทัดคำสั่ง ลองเรียกcmd.exeใช้โดยใช้ตัวอย่างด้านบนหากคุณต้องการพรอมต์แบบโต้ตอบ สิ่งที่ดีเกี่ยวกับวิธีนี้คือคุณสามารถใช้เอาต์พุตของคำสั่งรีโมตในสคริปต์ Linux หรือส่งออก grep


ในผู้ใช้ winexe ควรเป็น "ผู้ดูแลระบบ" เพื่อทำงานอย่างถูกต้อง แต่ในกรณีของฉันฉันกำลังลองกับผู้ใช้ RDP ปกติดังนั้น winexe จะไม่ทำงาน
Augustin

@Augustin: "ควร" หมายความว่าอะไร? คุณไม่อ่านบางที่หรือมีคุณพยายามมันและมันไม่ทำงานถ้าชื่อผู้ใช้อื่น ๆ ที่ไม่ใช่administrator? คุณลองมันจริงหรือยัง
Bananguin

Winexe จะติดตั้งแพ็กเกจบางอย่างใน Windows Machine จากนั้นจะใช้งานได้เท่านั้นและการติดตั้งแพ็กเกจจะไม่สามารถทำได้กับผู้ใช้ทั่วไป
Augustin

3

ณ วันนี้คุณสามารถใช้xfreerdpกับคุณสมบัติ RemoteApp เพื่อรันซอฟต์แวร์เฉพาะ:

  1. เปิดใช้งาน RemoteAppsบนโฮสต์ Windows ควรจะเป็นเรื่องง่ายเหมือนการแก้ไขรีจิสทรี ;
  2. ติดตั้งxfreerdpบนโฮสต์ Linux ของคุณ มีบิลด์พร้อมใช้สำหรับ Ubuntu, Debian, Fedora, OpenSUSE และ macOS
  3. ดำเนินการคำสั่งxfreerdp /u:user /d:domain /p:password /app:"||calc" /v:serverโดยที่:
    • /u:- ผู้ใช้ Windows
    • /d:- โดเมน (อาจเป็นWORKGROUPหากไม่ได้เข้าร่วมโฆษณา)
    • /p:- รหัสผ่าน Windows
    • /app:"||calc"- แอปที่จะดำเนินการ อาจจะcmdเป็นตามที่คุณต้องการ
    • /v:- ที่อยู่ IP หรือชื่อโฮสต์ของโฮสต์ Windows

0

ฉันได้รับการพัฒนาcollectnodeที่ใช้winrmโปรโตคอลเพื่อเชื่อมต่อกับ Windows

ก่อน: สร้างไฟล์โฮสต์:

# cat hosts.file


    [group1:vars] 
    nodetype=windows



    [group1] 
    server1
    server2
    server3
    server4
    server5

second: กำหนดค่าหนังสือรับรองที่ 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

ที่สาม: ดำเนินการคำสั่งใด ๆ ที่คุณต้องการที่เซิร์ฟเวอร์เหล่านี้:

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

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


2
ลิงก์ใช้งานไม่ได้และไม่มีมันคำตอบนั้นไร้ประโยชน์
Andrew Savinykh
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.