Como executar comandos do Windows remotamente da máquina Linux usando o comando rdesktop?

15

É possível executar comandos do Windows usando a ferramenta rdesktop no Linux? Eu tentei com rdesktop -s option:

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

mas não consigo abrir o cmd.exe usando o comando acima, também tentei com o caminho completo:

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

mas não há diferença na sessão RDP, mesmo se eu usar -s .

Estou tentando obter uma lista de sessões RDP usando qwinsta /server no Windows do Linux.

    
por Augustin 03.12.2014 / 21:04

4 respostas

4

Eu não tenho uma solução usando rdesktop , mas eu uso um programa chamado winexe no Linux para executar comandos remotos em máquinas Windows. Você pode obter o aplicativo da seguinte URL ou usar o sistema de repositório de software da sua distribuição para instalá-lo.

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

UPDATE: o certificado SSL é autoassinado para o link acima, portanto, estou fornecendo outro link:

https://github.com/skalkoto/winexe

Veja um exemplo do uso:

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

Você desejará criar um arquivo credentials.cfg com as informações de login da seguinte forma:

username=user
password=pass
domain=workplace

Forneça o domínio somente se isso se aplicar a você. É uma prática recomendada não colocar suas credenciais de login (especialmente senha) na linha de comando. Tente executar cmd.exe usando o exemplo acima, se você quiser um prompt interativo. Uma coisa legal sobre essa abordagem é que você pode usar a saída do comando remoto nos seus scripts do Linux ou grep a saída.

    
por 04.12.2014 / 00:20
2

Se você tiver acesso ao computador, instale um servidor ssh nele. No Linux, você pode usar, por exemplo, o Overlook-Fing para encontrar o IP do computador. Então você digita   ssh username@ipaddress no shell do Linux.

Exemplo:

ssh [email protected]

Em seguida, digite a senha do usuário e você deverá ter acesso ao Prompt de Comando do Windows. Você também pode usar o telnet, mas o ssh é criptografado.

    
por 29.08.2016 / 13:04
2

A partir de hoje, você pode usar o xfreerdp com o recurso RemoteApp para executar softwares específicos:

  1. Ativar RemoteApps em um host Windows. Deve ser tão fácil quanto edição de registro ;
  2. Instale xfreerdp no seu host Linux. Existem compilações prontas para uso para Ubuntu, Debian, Fedora, OpenSUSE e macOS.
  3. Execute o comando xfreerdp /u:user /d:domain /p:password /app:"||calc" /v:server em que:
    • /u: - usuário do Windows
    • /d: - Domínio (pode ser WORKGROUP se não estiver associado a um AD)
    • /p: - senha do Windows
    • /app:"||calc" - App a ser executado. Pode ser cmd como você deseja
    • /v: - endereço IP ou nome do host do host do Windows.
por 27.02.2018 / 12:26
1

Desenvolvi collectnode , que usa o protocolo winrm para se conectar ao Windows.

primeiro: crie um arquivo de hosts:

# cat hosts.file


    [group1:vars] 
    nodetype=windows



    [group1] 
    server1
    server2
    server3
    server4
    server5

segundo: configure a credencial em 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

third: Execute qualquer comando que você precisar nesses servidores:

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

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

    
por 27.02.2018 / 12:09

Tags