Mai 27 2015
Lancer une Session AS400 au Démarrage Windows
Il peut être nécessaire de lancer des sessions AS400 au boot pour différentes raisons comme lancer des scripts ou encore des sessions imprimantes. Voici quelques aléas que j’ai pu rencontrer.
Tout d’abord, les sessions ne se lançaient pas sans les paramètres additionnels de pcsws.exe /H – pour Hidden – et éventuellement /Q – pour cacher la fenêtre du logo IBM. Les options pcsws.exe sont disponibles sur IBM pour référence.
Cette méthode fonctionne pour une seule session. Pour en lancer plusieurs, il faut les lancer avec la commande « start ». Ajoutez le paramètre /B pour cacher la fenêtre DOS suivi de « », sans quoi les paramètres de la commande principale seront ignorés.
Ce simple script fera donc l’affaire:
@echo off
Set ScriptPath=C:\Scripts
Set client_Access_Home=C:\Program Files (x86)\IBM\Client Access
Set AS400=My_iSeries_Host
Set iSeries_User=myUser
Set password=myPassword
"%client_Access_Home%\cwblogon.exe" %AS400% /u %iSeries_User% /p "%password%"
start /B "" "%client_Access_Home%\Emulator\pcsws.exe" %ScriptPath%\session.ws /Q /H
start /B "" "%client_Access_Home%\Emulator\pcsws.exe" %ScriptPath%\other_session.ws /Q /H
pause
Créez une nouvelle entrée dans le planificateur de tâches à exécuter au démarrage du serveur.
Sélectionnez l’utilisateur sous lequel la tâche doit se lancer et cochez « Exécuter même si aucun utilisateur n’a ouvert de session » et ajouter le fichier batch ci-dessus sous Actions.
La commande « pause » doit rester. Sans, la tâche se terminera, ainsi que le processus cmd laissant les process pcsws.exe actifs mais orphelins. L’imprimante restera à l’état Arrêté sur IBM i !
Si quelqu’un a une explication, n’hésitez pas à laisser un commentaire.
cwblogon.exe est loin d’être idéal d’un point de vue sécurité, définissez un profil restreint! Indiquez le même utilisateur sous iSeries Navigator ou dans les paramètres de la session.
J’ai testé ceci sur Windows 2012 Serveur. A voir si ca fonctionne sur les autres OS mais il n’y a pas de raison que ca ne fonctionne pas.
Vous pouvez maintenant planifier des reboots quand vous le souhaitez sans avoir à gérer la gestion manuelle du démarrage des sessions.
Pour les sessions imprimantes, il vaut mieux imprimer vers un partage d’imprimante Windows. Cette méthode est bien plus efficace.
Si vous voulez lancer des commandes CL, il existe des solutions comme:
– SSH avec une clé privée, et la commande system.
– IBM supporte maintenant Ansible qui peut lancer des commandes CL si vous connaissez Ansible.