Aller au contenu

RUNRMTCMD

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.

RUNRMTCMD se lit RUN (Exécuter) + RMTCMD. Sur IBM i, le nom d'une commande associe presque toujours un verbe et un objet.

Syntaxe minimale

RUNRMTCMD CMD(…) RMTLOCNAME(…)

Paramètres

Astuce : dans une session 5250, tapez RUNRMTCMD 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é Liste d'éléments Obligatoire, positionnel 2
Élément 1: Nom ou adresse Valeur caractère
Élément 2: Type *SNA, *IP
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 système cible et le type de connexion utilisé pour la connexion au système cible.

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

Elément 1 : Nom ou adresse

valeur-alphanumérique
La syntaxe de cet élément dépend de la valeur spécifiée pour le second élément :
  • Si le type d'adresse est *SNA, indiquez le nom du système cible en utilisant le format nnnnnnnn.cccccccc, où nnnnnnnn est l'ID réseau et cccccccc, le nom du lieu éloigné. Si vous n'indiquez pas d'ID réseau, les attributs du réseau sont utilisés pour déterminer l'ID réseau par défaut.
  • Si le type d'adresse est *IP, indiquez un nom d'hôte ou une adresse Internet pour identifier le système cible. Le nom de l'hôte doit respecter les règles suivantes :
    • Le premier caractère doit être une lettre (A à Z) ou un chiffre (0 à 9).
    • Le dernier caractère doit être une lettre (A à Z), un chiffre (0 à 9) ou un point (.).
    • Les blancs ( ) ne sont pas admis.
    • Les caractères spéciaux tels que le point (.), le trait de soulignement (_) et le signe moins (-) sont admis.
    • Les parties du nom séparées par des points (.) doivent comporter chacune 63 caractères au maximum.

      Remarque :Chaque partie du nom séparée par des points (.) doit commencer et se terminer par un caractère alphabétique ou numérique.

    • Les noms doivent comporter de 1 à 255 caractères.

    L'adresse IPv4 se présente sous la forme nnn.nnn.nnn.nnn où nnn est un nombre décimal compris entre 0 et 255. Une adresse IPv4 composée de zéros ou de uns binaires dans la partie de l'ID réseau ou de l'ID hôte est incorrecte.

    L'adresse IPv6 se présente sous la forme x:x:x:x:x:x:x:x où x est un nombre hexadécimal entre 0 et X'FFFF'. "::" peut être utilisé une fois dans l'adresse IPv6 pour indiquer un ou plusieurs groupes de 16 bits de zéros. "::" peut être utilisé pour compresser les zéros situé en début, au milieu ou à la fin de l'adresse.

    Si vous entrez l'adresse Internet en ligne de commande, vous devez la placer entre apostrophes.

Elément 2 : Type

*SNA
Vous pouvez accéder au système cible en utilisant le protocole et l'adresse SNA (architecture de réseau des systèmes).
*IP
Vous pouvez accéder au système cible en utilisant un nom d'hôte ou une adresse Internet via une connexion TCP/IP.

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. Si *IP est indiqué comme type d'adresse, le mot de passe envoyé ne pourra pas être remplacé via la ligne de transmission. Si *SNA est indiqué, le mot de passe peut être remplacé ou non 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 envoyer la commande au système cible. Ce paramètre n'est admis que si la valeur *SNA est indiquée pour le type d'adresse.

*NETATR
Le mode défini dans les attributs du réseau est utilisé.
nom-communications
Indiquez le nom de l'objet mode à utiliser. Spécifiez BLANK pour indiquer 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é.
CPF91C9
MODE non admis avec *IP comme type d'adresse RMTLOCNAME.

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