Recette SQL IBM i (AS/400) · Sécurité
Les profils désactivés et depuis quand ils n'ont pas servi
Les profils utilisateurs désactivés, leur dernière utilisation et la date de leur dernier changement de mot de passe.
Le besoin
Un profil désactivé ne sert plus, mais possède encore des objets et occupe la liste des utilisateurs. Avant de le supprimer, on veut savoir depuis quand il dort.
La requête
SELECT AUTHORIZATION_NAME, USER_CLASS_NAME, LAST_USED_TIMESTAMP, PASSWORD_CHANGE_DATE, TEXT_DESCRIPTION
FROM QSYS2.USER_INFO
WHERE STATUS = '*DISABLED'
AND AUTHORIZATION_NAME NOT LIKE 'Q%'
ORDER BY LAST_USED_TIMESTAMP DESC
FETCH FIRST 10 ROWS ONLY
On filtre STATUS = '*DISABLED' et on trie sur LAST_USED_TIMESTAMP. Un NULL signifie que le profil n'a jamais été utilisé.
Le résultat sur un IBM i 7.5
Ce que l'IBM i a renvoyé le 01/10/2026 (5 lignes au plus) :
| AUTHORIZATION_NAME Profil utilisateur | USER_CLASS_NAME Classe d'utilisateur | LAST_USED_TIMESTAMP Horodatage de dernière utilisation | PASSWORD_CHANGE_DATE Date de changement du mot de passe | TEXT_DESCRIPTION Texte descriptif |
|---|---|---|---|---|
| UTIL188 | *USER | NULL | 2026-03-20 16:52:33.000000 | Utilisateur Util188 |
| UTIL165 | *SECADM | NULL | 2025-09-18 13:27:37.000000 | Utilisateur Util188 |
| UTIL119 | *USER | 2026-10-01 00:00:00.000000 | 2026-09-30 14:31:50.000000 | Utilisateur Util119 |
| UTIL144 | *SECADM | 2026-09-22 00:00:00.000000 | 2025-08-05 14:53:33.000000 | Utilisateur Martin |
| UTIL238 | *SECOFR | 2026-09-19 00:00:00.000000 | 2025-08-18 15:33:47.000000 | Utilisateur Util238 |
Plusieurs profils n'ont jamais servi (NULL) : créés pour une session de formation, jamais utilisés.
Données anonymisées : les noms de système, de profils, de bibliothèques, de postes et les adresses IP ont été remplacés.
L'adapter à votre système
Avant tout DLTUSRPRF, listez ses objets avec QSYS2.OBJECT_OWNERSHIP pour les transférer à un autre propriétaire.