Aller au contenu

AREXEC

Exécuter commande distante

Run Remote Command

En bref

La commande RUNRMTCMD, également appelée AREXEC lorsqu'une adresse SNA est indiquée pour le nom de lieu éloigné, permet aux utilisateurs de lancer une commande sur un système éloigné exécutant la partie cible de cette fonction.

Syntaxe minimale

AREXEC CMD(…) RMTLOCNAME(…)

Paramètres

Astuce : dans une session 5250, tapez AREXEC puis F4 pour l'invite de saisie, et F1 sur un paramètre pour son aide.

Aide IBM i de la commande

Texte du F1, IBM i 7.5 en français (bibliothèque QSYS)

Où s'exécute : Tous les environnements (*ALL)
Compatible multitâche : Non

La commande RUNRMTCMD, également appelée AREXEC lorsqu'une adresse SNA est indiquée pour le nom de lieu éloigné, permet aux utilisateurs de lancer une commande sur un système éloigné exécutant la partie cible de cette fonction.

La portion cible de cette fonction peut être :

  • un démon REXECD (exécution à distance), si vous spécifiez *IP pour le type d'adresse
  • un démon AREXECD (exécution à distance APPC), si vous spécifiez *SNA comme type d'adresse.

Une fois la commande envoyée au système éloigné, le système local attend qu'elle soit exécutée, et la sortie générée est placée dans un fichier spoule.

Paramètres

Mot-clé Description Valeurs possibles Remarques
CMD Commande Valeur caractère Obligatoire, positionnel 1
RMTLOCNAME Lieu éloigné Valeur caractère Obligatoire, positionnel 2
RMTUSER ID utilisateur éloigné Valeur caractère, *NONE, *CURRENT Facultatif
RMTPWD Mot de passe éloigné Valeur caractère, *NONE Facultatif
MODE Mode Nom de communication, *NETATR Facultatif
CCSID ID codé de jeu de caractères 1-65533, *CALC Facultatif
WAITTIME Délai d'attente (en secondes) 2-3600, *NOMAX, *NOWAIT Facultatif

Commande (CMD)

Indique une chaîne de 2000 caractères au maximum représentant une commande lancée sur le système cible. Il peut arriver que la longueur maximale prise en charge par le système cible soit inférieure à 2000 caractères. Si vous indiquez une chaîne de commande dont la longueur est supérieure à la longueur maximale prise en charge par le système cible, la commande n'aboutira pas.

Toute commande contenant des blancs imbriqués ou des caractères spéciaux doit être placée entre apostrophes.

Il s'agit d'un paramètre obligatoire.

Remarque :Sur le système local, lorsque vous utilisez des apostrophes dans une chaîne entre apostrophes, vous devez doubler les premières lorsque vous envoyez la chaîne sur un système éloigné via le paramètre CMD. En effet, vous codez la chaîne entre apostrophes dans une autre chaîne entre apostrophes. Ainsi, lorsque ce paramètre est codé, partout où une quotation serait normalement associée à une autre, vous devez doubler ces single afin d'obtenir les mêmes résultats sur le système cible.

Lieu éloigné (RMTLOCNAME)

Indique le lieu éloigné auquel vous voulez vous connecter. Spécifiez un nom de lieu éloigné en utilisant le format nnnnnnnn.cccccccc, où nnnnnnnn est l'ID réseau et cccccccc, le nom du lieu éloigné. Si vous indiquez uniquement le nom du lieu éloigné, l'attribut du réseau de l'ID local du réseau (LCLNETID) sera utilisé comme valeur pour l'ID réseau.

ID utilisateur éloigné (RMTUSER)

Indique l'ID utilisateur pour le système cible. Si un ID utilisateur est spécifié pour ce paramètre et que la fonction de sécurité par mot de passe est active sur le système cible, vous ne pouvez pas indiquer la valeur RMTPWD(*NONE).

*NONE
Aucun ID utilisateur n'est envoyé. Si la configuration de la fonction de sécurité sur le système cible requiert un ID utilisateur, la commande n'aboutira pas.
*CURRENT
L'ID utilisateur (utilisateur en session) du travail utilisant cette commande est envoyé.
valeur-alphanumérique
Indiquez un ID utilisateur existant sur le système cible. Si un ID utilisateur est spécifié et que la fonction de sécurité par mot de passe est active sur le système cible, vous devez indiquer un mot de passe.

Mot de passe éloigné (RMTPWD)

Indique le mot de passe envoyé au système cible.

*NONE
Le système n'envoie pas de mot de passe. Si un ID utilisateur est indiqué au paramètre RMTUSER et que la fonction de sécurité par mot de passe est active sur le système cible, la commande n'aboutira pas.
valeur-alphanumérique
Indiquez un mot de passe envoyé au système cible pour vérifier l'ouverture de session à l'aide de l'ID utilisateur indiqué au paramètre RMTUSER. Le mot de passe peut être remplacé ou non via la ligne de transmission suivant que le système éloigné prend en charge ou non les substitutions de mot de passe.

Mode (MODE)

Indique le nom du mode à utiliser pour la conversation APPC.

*NETATR
Le mode défini dans les attributs du réseau est utilisé.
nom-mode
Indiquez un nom de mode ou spécifiez BLANK afin de préciser un nom de mode composé de huit blancs.

Remarque :SNASVCMG et CPSVCMG sont des noms réservés. Vous ne pouvez pas les utiliser.

ID codé de jeu de caractères (CCSID)

Indique le CCSID à utiliser pour effectuer des conversions. Lorsque les données sont envoyées sur le système éloigné, elles sont converties du CCSID du travail au CCSID indiqué au paramètre CCSID. De même, les données provenant du système éloigné sont converties du CCSID indiqué au paramètre CCSID au CCSID du travail.

Restrictions :

  1. Si le CCSID du travail est 65535 (pas de conversion), le CCSID par défaut du travail sera utilisé.
  2. Cette commande utilise la méthode de conversion aller-retour pour convertir les données du CCSID source au CCSID cible et inversement. Pour en savoir plus sur les méthodes de conversion de CCSID, reportez-vous au manuel National Language Support.
*CALC
La valeur de CCSID du système cible est utilisée dès lors qu'elle est disponible. Si aucune valeur n'est envoyée du système cible, la valeur par défaut 00819 (ISO 8859-1 ASCII 8 bits) est utilisée.
1-65533
Indiquez la valeur CCSID à utiliser. Elle est validée afin de s'assurer qu'un CCSID correct a été demandé.

Délai d'attente (en secondes) (WAITTIME)

Indique le délai d'attente (en secondes) du retour (écho) qui peut s'écouler avant de déclarer que le lieu éloigné ne répond pas.

*NOMAX
Le système attend indéfiniment.
*NOWAIT
Le système répond immédiatement s'il dispose d'une connexion.
2-3600
Indiquez le nombre de seconde à attendre.

Exemples

Exemple 1 : exécution de la commande RUNRMTCMD (Lancer une commande à distance) à l'aide d'une adresse SNA

RUNRMTCMD   CMD('dir')  RMTLOCNAME(APPN.RMTSYS *SNA)

Cette commande permet d'exécuter la commande 'dir' sur le système défini par 'RMTLOCNAME' à l'aide d'une adresse SNA.

Exemple 2 : exécution de la commande AREXEC (Lancer une commande à distance) à l'aide d'une adresse SNA

AREXEC   CMD('dir')   RMTLOCNAME(APPN.RMTSYS)

Cette commande est similaire à celle décrite dans l'exemple 1.

Exemple 3 : exécution d'une commande éloignée via une adresse IP et un nom d'hôte destiné à désigner le système cible

RUNRMTCMD   CMD('ls')  RMTLOCNAME(MYSYS.NET1.LOCAL *IP)

Cette commande permet d'exécuter la commande 'ls' sur le système défini par le nom d'hôte MYSYS.NET1.LOCAL.

Exemple 4 : exécution d'une commande éloignée via une adresse IP et une adresse Internet en vue de désigner le système cible

RUNRMTCMD   CMD('ls')  RMTLOCNAME('9.5.1.94' *IP)

Cette commande permet d'exécuter la commande 'ls' sur le système défini par l'adresse Internet '9.5.1.94'.

Exemple 5 : exécution d'une commande éloignée avec plusieurs commandes via une adresse IP et une adresse Internet visant à désigner le système cible

RUNRMTCMD   CMD('ls; cat myfile; date')
            RMTLOCNAME('9.5.1.94' *IP)

Cette commande permet d'exécuter plusieurs commandes : 'ls' en premier lieu, puis 'cat myfile' et enfin 'date' sur le système défini par l'adresse Internet '9.5.1.94'.

Exemple 6 : exécution d'une commande éloignée à l'aide d'une valeur d'expiration de délai d'attente

RUNRMTCMD  CMD('dir')  RMTLOCNAME(APPN.RMTSYS *SNA)
           WAITTIME(15)

Cette commande permet d'exécuter la commande 'dir' sur le système défini. Le délai maximum de réponse du lieu éloigné est de 15 secondes. Un délai d'attente est admis uniquement lorsque vous utilisez une valeur de type d'adresse *SNA.

Exemple 7 : exécution d'une commande éloignée via une adresse IP et une adresse IPv6 en vue de désigner le système cible

RUNRMTCMD   CMD('ls')  RMTLOCNAME('2001:D88::1' *IP)

Cette commande permet d'exécuter la commande 'ls' sur le système défini par l'adresse IPv6 '2001:D88::1'.

Messages d'erreur

Messages *ESCAPE

CPF91CB
Des incidents se sont produits, mais la commande a été exécutée.
CPF91CC
La commande a échoué.
CPF91CF
La commande a échoué sur le système éloigné.

© Copyright IBM Corp. Texte d'aide reproduit à des fins de formation.