Accéder à l’ID Teamviewer Linux depuis Windows

J’ai eu dans la nécessite d’écrire un code script, il y a quelques jours, pour permettre à des utilisateurs d’accéder facilement à leur identifiant Teamviewer Linux depuis leur machines Windows (car depuis leur machine Linux ils ne peuvent accéder qu’a une interface limité).

Du coup, pour facilité la chose, j’ai uniquement mis en place un fichier bat sur leur bureau Windows qui permet en finalité d’ouvrir une fenêtre à l’écran avec leur ID.

Malheureusement pour faire cela, je me suis confronté à quelques soucis de droits. La solution à donc été de:

  • Créer un dossier partagé sous linux (samba) (voir mon article Samba : introduction rapide aux partage de fichier Linux/Windows)
  • Créer un script Linux qui récupère l’ID et qui le rentre dans un fichier .vbs
  • Créer un script sous windows qui monte le lecteur réseau, copie le vbs, le lance, et déconnecte le lecteur réseau.

Pourquoi faire une copie …malheureusement, avec la gestion des droits, impossible de lancer le script directement depuis un interpréteur de commande ou depuis un script (pourtant le côté graphique fonctionne parfaitement). Il ce trouve que je ne suis pas le seul à avoir ce problème et c’est la seule solution que j’ai (nous avons) trouvé.

Voici la solution mis en place …

Côté Linux

Ajout d’un dossier samba

Je vous conseille de voir mon article Samba : introduction rapide aux partage de fichier Linux/Windows. J’ai d’ailleurs écris cette article alors que je travaillais sur ce problème.

Écriture d’un shell script (GNU/Linux)

Sous Linux, nous allons écrire un script qui va simplement récupérer le nom de la machine, l’ID teamviewer et qui va le placer dans un fichier vbs (pour l’afficher avec une fenêtre à l’écran de l’utilisateur windows)

#!/bin/bash

#Script creation .vbs qui affiche l'id de la machine dans un msgbox
rm /Linux_partages/ScriptTeamViewer.vbs

NomMachine=`cat /etc/hostname`

teamviewer&

ID=`grep ID ~/.config/teamviewer/client.conf |tr ' ' '\n' |tail -n1`

echo 'msgbox("Identifiant de votre machine '$NomMachine' est : '$ID'")' >> /Linux_partages/IDLinux.vbs
sudo chmod 777 /Linux_partages/IDLinux.vbs

Côté Windows

Du côté de Windows, je vais simplement ajouter sur le bureau le script suivant qui va s’occuper de monter mon lecteur réseau, qui va copier le fichier vbs. Puis qui lance le script vbs et supprime le lecteur réseau.

@echo on
net use /delete L:

net use L: \\Linux_machine\Linux_partages /user:utilisateur motdepasse

robocopy L: c:\Dossier\script\ /sec
c:\Dossier\script\ScriptTeamViewer.vbs
net use /delete L:

Voila … y a surement plus simple et moins moche (parce-que bon .. un script avec l’identifiant et mot de passe du partage ….même si c’est un mot de passe uniquement pour accéder au partage …) mais ça marche

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.