メニューボタン
サポートチーム便り2025.10.08

IBM i で特定のユーザーが所有者になっているオブジェクトをリスト化できませんか?

Question

現在ユーザー・プロファイルの整理を行っています。

その一環で特定のユーザーが所有者になっているオブジェクトの情報を取得したいと考えています。

DSPOBJD OBJ(*ALL/*ALL) OBJTYPE(*ALL) の方法は知っていますが、不要な情報(他のユーザーの情報)が多くて確認に時間がかかってしまうのが難点です。

出来れば、特定のユーザーのオブジェクトだけリストしたいのですがよい方法はないでしょうか。

Answer

DSPOBJD OBJ(*ALL/*ALL) OBJTYPE(*ALL) OUTPUT(*OUTFILE) OUTFILE(LIB/FILE)

を実行してQUERYで確認したり、データ転送にてExcel形式でダウンロードしソート機能を駆使すると確認し易いです。

ただ、OBJ(*ALL/*ALL) で実行するので情報の抽出自体に少々時間が掛かることや、他のユーザーの情報も取得されるのが煩わしくもあります。

そこで、SQLであれば 「OBJECT_OWNERSHIP」ビューがあります。こちらではいかがでしょうか。

OBJECT_OWNERSHIP ビュー
https://www.ibm.com/docs/ja/i/7.5.0?topic=services-object-ownership-view

例1:ライブラリーオブジェクトとIFS上のオブジェクト

SELECT * FROM QSYS2.OBJECT_OWNERSHIP
   WHERE AUTHORIZATION_NAME = 'ユーザー名'

匿名アクセスが許可されているのかを確認する方法

例2:ライブラリーオブジェクトのみ

SELECT * FROM QSYS2.OBJECT_OWNERSHIP
   WHERE AUTHORIZATION_NAME = 'ユーザー名'
   AND PATH_NAME IS NULL

例3:統合ファイル・システム(IFS)上のオブジェクトのみ

SELECT * FROM QSYS2.OBJECT_OWNERSHIP
   WHERE AUTHORIZATION_NAME = 'ユーザー名'
   AND PATH_NAME IS NOT NULL

IBM i Access Client Solutions(以下、ACS)の「SQLスクリプトの実行」機能で実行すれば結果を簡単にExcelとして出力できます。

ACSのSQL実行結果をダウンロードしたい
https://www.e-bellnet.com/category/technology/2212/2212-02.html

OBJECT_OWNERSHIPビューはWRKOBJOWN コマンドで確認できる情報に相当するのでライブラリーオブジェクトだけでなく、IFS上のオブジェクトの情報もリストできます。

お役に立てば幸いです。

by . 槻樹

あわせて読みたい記事

PAGE TOP