Aller au contenu

Service SQL IBM i (AS/400) · Fonction table

SYSTOOLS.CHANGE_USER_PROFILE

Modifier des profils utilisateur en SQL

Modifie les attributs d'un profil utilisateur (statut, mot de passe, droits spéciaux, groupe) comme CHGUSRPRF, avec un mode aperçu pour tester sans agir.

À quoi ça sert

Cette fonction de table applique un CHGUSRPRF au profil désigné par P_USER_NAME. Chaque paramètre P_* correspond à un attribut du profil : mot de passe, expiration du mot de passe, statut (*ENABLED ou *DISABLED), programme initial, limitation des capacités, texte, description de travail, profil de groupe, date d'expiration du profil ou droit spécial. Toutes les valeurs par défaut valent *SAME : seul ce que l'on précise est modifié.

Elle renvoie une ligne par profil avec CHANGE_ATTEMPTED, CHANGE_SUCCESSFUL, la commande générée dans CHGUSRPRF_COMMAND et, en cas d'échec, l'identifiant et le texte du message. Le paramètre PREVIEW vaut YES par défaut : la commande est seulement construite, pas exécutée.

Associée à QSYS2.USER_INFO, elle permet de traiter un lot de profils d'après un critère, par exemple désactiver tous les profils sans mot de passe.

Résultat réel sur un IBM i 7.5

Pas de résultat publié : la fonction agit sur les profils utilisateurs, même en mode aperçu.

L'exemple d'IBM

Prévisualiser la liste des profils utilisateur activés qui n'ont pas de mot de passe et qui seraient désactivés.

-- Description: Preview the list of enabled user profiles that have no password set. 
 SELECT * FROM QSYS2.USER_INFO,  
              TABLE(SYSTOOLS.CHANGE_USER_PROFILE( 
                    P_USER_NAME  => AUTHORIZATION_NAME,  
                    P_STATUS     => '*DISABLED', 
                    PREVIEW      => 'YES')) 
  WHERE STATUS = '*ENABLED' AND  
        NO_PASSWORD_INDICATOR = 'YES';

Bon à savoir

Contrôler la colonne CHGUSRPRF_COMMAND en mode aperçu avant de passer PREVIEW à NO : un critère trop large pourrait désactiver des profils de service. Les droits nécessaires sont ceux de CHGUSRPRF (*SECADM).

Paramètres

ParamètreTypePar défautSignification
P_USER_NAME VARCHAR(10) obligatoire Nom du profil utilisateur
P_PASSWORD VARCHAR(128) '*SAME' Mot de passe du profil utilisateur
P_PASSWORD_EXPIRED VARCHAR(5) '*SAME' Mot de passe expiré
P_STATUS VARCHAR(10) '*SAME' Statut du profil utilisateur
P_INITIAL_PROGRAM VARCHAR(21) '*SAME' Programme initial du profil utilisateur
P_LIMIT_CAPABILITIES VARCHAR(8) '*SAME' Limitation des capacités du profil utilisateur
P_TEXT VARCHAR(50) '*SAME' Texte descriptif
P_PASSWORD_EXPIRATION_INTERVAL VARCHAR(7) '*SAME' Intervalle d'expiration du mot de passe
P_JOB_DESCRIPTION VARCHAR(21) '*SAME' Description de travail du profil utilisateur
P_GROUP_PROFILE VARCHAR(10) '*SAME' Profil de groupe
P_USER_EXPIRATION_DATE VARCHAR(10) '*SAME' Date d'expiration du profil utilisateur
P_USER_EXPIRATION_INTERVAL SMALLINT NULL Intervalle d'expiration du profil utilisateur
P_SPECIAL_AUTHORITY_ACTION VARCHAR(7) '*SAME' Action à appliquer au droit spécial
P_SPECIAL_AUTHORITY VARCHAR(9) NULL Droit spécial
PREVIEW VARCHAR(3) 'YES' Aperçu sans exécution

Colonnes renvoyées (6)

Afficher les 6 colonnes
ColonneTypeSignification
USER_NAME VARCHAR(10) Nom du profil utilisateur
CHANGE_ATTEMPTED VARCHAR(3) Modification tentée
CHANGE_SUCCESSFUL VARCHAR(3) Modification réussie
CHGUSRPRF_COMMAND VARCHAR(1000) Commande CHGUSRPRF
FAILURE_MESSAGE_ID CHAR(7) Identifiant du message d'échec
FAILURE_MESSAGE_TEXT GRAPHIC VARYING Texte du message d'échec