Contrôle à distance d'un poste
Exécution de commandes à distance sur le poste
Il est possible de dialoguer avec le service Scribe installé sur les postes clients avec l'utilitaire cliscribe.py
:
La syntaxe de la commande est :
# /usr/share/eole/controlevnc/cliscribe.py <IP_POSTE_CLIENT> <OPTION> <ARGUMENTS>
Truc & astuce
L'option -h
permet d'avoir de l'aide sur la commande :
# /usr/share/eole/controlevnc/cliscribe.py -h
La liste des options est :
-k ou --killproc <NOM_DU_PROGRAMME>
termine un programme en cours d'exécution, "explorer.exe" par exemple
-s ou --shutdown <NIVEAU>
permet d'éteindre le poste : 0 = éteindre (défaut), 1 = reboot, 2 = fermeture de session
-e ou --execute <NOM_DU_PROGRAMME>
exécute un programme dans l'environnement du service (BUILTIN\SYSTEM)
-eu ou --executeuser <NOM_DU_PROGRAMME>
exécute un programme dans l'environnement de l'utilisateur connecté s'il y en a un, sinon renvoie une erreur
(un utilisateur doit avoir une session ouverte)
-vc ou --vncconnect <IP_VIEWER_LISTEN>
exécute la commande winvnc -connect <IP_VIEWER_LISTEN> (vncviewer doit être en mode "listen" sur le poste <IP_VIEWER_LISTEN>)
-va <ÉTAT> ou --vncactive <ÉTAT>
permet de démarrer ou d'arrêter winvnc sur le client :
0 = arrête winvnc sur IP_CLIENT, 1 = démarre winvnc sur IP_CLIENT
-vi <ÉTAT> ou --vncinputs <ÉTAT>
permet d'activer, désactiver le clavier et la souris pour winvnc sur le client :
0 = désactive le clavier/souris pour winvnc, 1 = active le clavier/souris pour winvnc
-f <FW_ACTION> ou --firewall <FW_ACTION>
permet de gérer le pare-feu sur le client : activation, désactivation, initialisation, ajout de règles, suppression de règles, modification de la politique par défaut
<FW_ACTION> doit ressembler à INIT|ADD::rule|DEL::Nom|SETMODE::<in>;;<out>|ACTIVATE::True|False :
INIT initialise les règles de bases (fait une simple initialisation, ne lit pas le fichier
liste_fwregles.eol
)ADD::rule
Exemple : ADD::'Nom;; ip_src=XX;;ip_dst=XX;;action=XX;;proto=XX;;port_dst=XX;;program=XX'
- ip_src/dst = me|any|<ip>
- action=allow|block
- proto=tcp|udp|icmp|any
DEL::Nom
SETMODE::<in>;;<out>
ACTIVATE::True|False
ExempleTerminer un programme en cours d'exécution
# /usr/share/eole/controlevnc/cliscribe.py 172.16.0.45 --killproc firefox.exe
ExempleExécuter un programme dans l'environnement du service
# /usr/share/eole/controlevnc/cliscribe.py 172.16.0.45 --execute '\\scribe\wpkg\wpkg_client_install.bat'
(noter les simple quotes ou apostrophes autour de la commande à exécuter)
ExempleInitialiser les règles de bases du pare-feu
# /usr/share/eole/controlevnc/cliscribe.py 172.16.0.45 --firewall INIT
ExempleBloquer l'accès au port TCP 123 par la machine 1.2.3.4 vers la machine 172.16.0.45
# /usr/share/eole/controlevnc/cliscribe.py 172.16.0.45 --firewall 'ADD::maregle;;ip_src=1.2.3.4;;ip_dst=me;;action=block;;proto=tcp;;port_dst=123'
ExempleBloquer l'accès au réseau/à Internet pour firefox.exe
# /usr/share/eole/controlevnc/cliscribe.py 172.16.0.45 --firewall 'ADD::maregle;;ip_src=me;;ip_dst=any;;action=block;;proto=any;;program="C:\Program Files\Mozilla Firefox\firefox.exe"'
Attention
Ne fonctionne que sur Vista et supérieur.
ExempleSupprimer toutes les règles de pare-feu nommées maregle
# /usr/share/eole/controlevnc/cliscribe.py 172.16.0.45 --firewall 'DELL::maregle'
Affichage à distance d'un poste client
Il existe 2 méthodes pour prendre la main sur un poste :
VNC ;
Le Bureau à distance Windows.
VNC
Après s'être connecté en SSH (ssh -X ou putty+Xming) les commandes suivantes permettent l'affichage du poste :
Installer xtightvncviewer
# apt-get install xtightvncviewer
# nohup vncviewer -listen 0 &
# /usr/share/eole/controlevnc/cliscribe.py 172.16.0.45 --vncinputs <IP_SCRIBE>
Attention
Cette méthode ne fonctionne que si un utilisateur est connecté sur le poste.
Bureau à distance
Après s'être connecté en SSH (ssh -X ou putty+Xming) :
Installer rdesktop
# apt-eole install rdesktop
Activer le bureau à distance
# /usr/share/eole/controlevnc/cliscribe.py 172.16.0.45 --execute 'REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f'
Redémarrer la machine pour prendre en compte l'activation du bureau à distance
# /usr/share/eole/controlevnc/cliscribe.py 172.16.0.45 --shutdown 1 #
Attendre que la machine redémarre et exécuter rdesktop
# rdesktop 172.16.0.45
On peut spécifier une résolution
# rdesktop 172.16.0.45 -g 1400x900
Attention
Cette méthode ferme la session distante s'il y en a une d'ouverte.