Gérer des systèmes Windows depuis Unix

Je veux lancer, à distance, des commandes sur des systèmes Windows, depuis un shell Unix. Le cahier des charges est simple : je connais bien Unix, je connais très mal Windows. En particulier, je ne connais ni VB truc, ni WSH, ni PowerShell ni tous leurs amis.

Autre point important : ne rien avoir à installer. Donc pas de FreeSSHd (testé, ça marche bien, y compris l'édition de fichiers avec edit.exe).

Cette page est maintenant obsolète : il existe désormais Winexe : un outil PsExec-like pour Unix ou Linux.

La solution est dans Samba-TNG. Le projet ne semble plus trop avancer mais dores et déjà contient tout ce dont nous avons besoin.

Le compiler et l'installer (./configure && make && sudo make install). Quand c'est fait, dans /usr/local/samba/bin (si vous n'avez pas changé l'option --prefix lors du ./configure), on trouve deux commandes : registry et cmdat.

Dans la suite, adminuser est un utilisateur de votre système Windows (nommé client) qui est dans le groupe Administrators ou Domain Admins.

On utilise registry(1). Typiquement :

$ regedit -Uadminuser -S client -c 'registry value create \
? "HKEY_LOCAL_MACHINE\System\CurrentControlSet002\Services\EventLog\ComputerName" REG_SZ name'

Il y a une page de manuel fournie avec.

À noter : Samba legacy propose bientôt une commande editreg(1) utilisable pour modifier la ruche HKCU i. e. les fichiers NTUser.dat que l'on trouve dans les profils (itinérants).

On utilise cmdat(1). Typiquement :

$ smbclient -Uadminuser -c 'cd tmp; put script.bat' //client/c$
$ cmdat -S client -Uadminuser 'at now c:\tmp\script.bat'

En fait, cmdat(1) utilise les M$ RPC pour utiliser at.exe. Ça n'est pas interactif mais c'est déjà beaucoup !

Dans Samba legacy, on trouve les commandes net(8), rpcclient(1) qui permettent de faire des choses comme rebooter un système :

$ net rpc shutdown -r -f -t 0 -C "reboot" -I client -Uadminuser

Couplé à la virtualisation (cf. Gestion de parc Windows facile), cette configuration a fait l'objet d'une présentation avec Laurent Joly lors des Journées Réseaux 2009 : « Gestion de parc Windows depuis Unix » (présentation).

Ce site web utilise des cookies. En utilisant le site Web, vous acceptez le stockage de cookies sur votre ordinateur. Vous reconnaissez également que vous avez lu et compris notre politique de confidentialité. Si vous n'êtes pas d'accord, quittez le site.En savoir plus
  • user/pc/sysadmin/cmdat.txt
  • Dernière modification : 2011/08/22 13:25
  • de pc