(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

【bash】ibmcloud sl userコマンドで全ユーザ情報の詳細を確認するワンライナー

スポンサーリンク

やりたいこと

IBM Cloudのクラシック・インフラストラクチャーに関するユーザ一情報をbash環境で取得したい。
具体的には以下コマンドで表示される全ユーザがアクセス可能なハードウェア情報を表示させる。

ibmcloud sl user list 
環境情報
$ ibmcloud --version
C:\Program Files\IBM\Cloud\bin\ibmcloud.exe version 1.4.0...

やり方

ibmcloud loginコマンドでアカウントにログイン後に以下ワンライナーを押下すると

$ ibmcloud sl user list --output JSON |  jq ".[].id" | xargs -I arg ibmcloud sl user detail arg --hardware

以下の情報が全ユーザ分出力される。

ID           XX
ユーザー名   XX
名前         XX
E メール     XX
OpenID       XX
アドレス     XX
会社         XX
作成         XX
電話番号     XX
親ユーザー  XX
状況         XX
PPTP VPN    XX
SSL VPN     XX
...
ID   名前   CPU   メモリー   ディスク   作成   専用アクセスID        ホスト名    1 次パブリック IP   1 次プライベート IP   作成
...

以下、補足です。

補足

IBM Cloudのクラシック・インフラストラクチャー環境に関するユーザ一覧は以下で取得できます。

$  ibmcloud sl user list
id        username                                                 email                                   displayName
X  X  X XX
...

同コマンドはJSON形式で出力できるので以下でID情報だけを一覧にし

$ ibmcloud sl user list --output JSON |  jq ".[].id"

xargsにデータを行ごとに渡すことで反復処理させています。

今回はhardwareとしましたがオプションを変更すれば欲しい一連の情報が取得可能です。

$ ibmcloud sl user detail --help
名前:
  detail - ユーザーの詳細...
オプション:
  --keys         ユーザー API キーを表示します
  --permissions  このユーザーに割り当てられた許可を表示します。 マスター・ユーザーの許可は表示しません
  --hardware     このユーザーがアクセスできるハードウェアを表示します
  --virtual      このユーザーがアクセスできる仮想ゲストを表示します
  --logins       このユーザーの過去 24 時間のログイン履歴を表示します
  --events       このユーザーの監査ログを表示します

以上、ご参考ください。