Outils pour utilisateurs

Outils du site


user:pascal_cabaud:sysadmin:cmdat

Gérer des systèmes Windows depuis Unix

Je veux lancer, à distance, des commandes sur des systèmes Windows, depuis des machines 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).

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.

L'accès au registre

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).

Commandes

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 !

Pour finir

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

Présentation aux JRES 2009

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).

user/pascal_cabaud/sysadmin/cmdat.txt · Dernière modification: 2009/12/07 23:24 par Pascal Cabaud