web-dev-qa-db-fra.com

Comment exécuter des commandes Windows à distance depuis une machine Linux en utilisant la commande rdesktop?

Est-il possible d'exécuter des commandes Windows à l'aide de l'outil rdesktop sous Linux? J'ai essayé avec rdesktop -s option:

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

mais je ne parviens pas à ouvrir le cmd.exe en utilisant la commande ci-dessus, j'ai aussi essayé avec le chemin complet:

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

mais il n'y a pas de différence dans la session RDP même si j'utilise -s.

J'essaie d'obtenir une liste des sessions RDP en utilisant qwinsta /server sous Windows à partir de Linux.

20
Augustin

Je n'ai pas de solution utilisant rdesktop mais j'utilise un programme appelé winexe sous Linux pour exécuter des commandes à distance sur des machines Windows. Vous pouvez obtenir l'application à partir de l'URL suivante ou utiliser le système de référentiel de logiciels de votre distribution pour l'installer.

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

MISE À JOUR: Le certificat SSL est auto-signé pour le lien sourceforge ci-dessus, donc je fournis un autre lien:

https://github.com/skalkoto/winexe

Voici un exemple d'utilisation:

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

Vous souhaiterez créer un fichier credentials.cfg avec les informations de connexion comme suit:

username=user
password=pass
domain=workplace

Fournissez le domaine uniquement s'il s'applique à vous. Il est recommandé de ne pas mettre vos informations de connexion (en particulier votre mot de passe) sur la ligne de commande. Essayez d'exécuter cmd.exe en utilisant l'exemple ci-dessus si vous souhaitez une invite interactive. Une bonne chose à propos de cette approche est que vous pouvez utiliser la sortie de la commande à distance dans vos scripts Linux ou grep la sortie.

5
cmevoli

Si vous avez accès à l'ordinateur, installez-y un serveur ssh. Sous Linux, vous pouvez utiliser par exemple Overlook-Fing pour trouver l'IP de l'ordinateur. Ensuite, vous tapez ssh username@ipaddress dans le shell Linux.

Exemple:

ssh [email protected]

Tapez ensuite le mot de passe de l'utilisateur et vous devriez avoir accès à l'invite de commandes Windows de l'ordinateur. Vous pouvez également utiliser telnet mais ssh est crypté.

5
aka91x

À partir d'aujourd'hui, vous pouvez utiliser xfreerdp avec sa fonction RemoteApp pour exécuter un logiciel spécifique:

  1. Activer RemoteApps sur un hôte Windows. Devrait être aussi simple que modification du registre ;
  2. Installez xfreerdp sur votre hôte Linux. Il existe versions prêtes à l'emploi pour Ubuntu, Debian, Fedora, OpenSUSE et macOS.
  3. Exécutez la commande xfreerdp /u:user /d:domain /p:password /app:"||calc" /v:server où:
    • /u:- Utilisateur Windows
    • /d:- Domaine (pourrait être WORKGROUP s'il n'est pas joint à un AD)
    • /p:- Mot de passe Windows
    • /app:"||calc" - Application à exécuter. Peut être cmd comme vous le souhaitez
    • /v:- Adresse IP ou nom d'hôte de l'hôte Windows.
3
user34720

J'ai développé collectnode, qui utilise le protocole winrm pour me connecter à Windows.

d'abord: créez un fichier d'hôtes:

# cat hosts.file


    [group1:vars] 
    nodetype=windows



    [group1] 
    server1
    server2
    server3
    server4
    server5

deuxième: configurer les informations d'identification à 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

troisième: Exécutez toute commande dont vous avez besoin sur ces serveurs:

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

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

0
fvidalmolina