Google Apps ScriptでAdmin SDK Directory Serviceを使ってユーザの最終ログイン情報一覧を出力する
2020/09/07
GoogleAppsで使わなくなったアカウントを確認する方法として、最終ログイン時間を調べる方法があるかと思います。
もちろん、IMAPでメール、CalDAVでカレンダーとかで使っているケースではこれでは確認出来ないのですが。
まあ、調査対象を明確にする事は出来るかと思います。
でも、ユーザ一覧でソートする事も出来ず、ある程度規模が多くなれば1件づつ見ていくわけにも行かないので、Google Apps SctiptでSpreadSheetに出力してしまいます。
まずはGoogle Apps ScriptでAdmin SDK Directory Serviceを使ってグループメンバー情報を出力するを参考にしていただいて、Admin SDK Directory Serviceを有効にしてください。
ユーザの最終ログイン情報を出力する方法
下のコードをSpreadSheetの[ツール]-[スクリプトエディタ]に書いて、実行したら、とりあえずSpreadSheetに今の状態が書き出せます。
ドメインとかメールアドレスとかは編集して自己責任で参考にしてください。
詳細は公式のAdmin SDK Directory Serviceのページを確認してください。
簡単に説明します。
「page = AdminDirectory.Users.list~」で指定ドメインのユーザのリストをpage変数に代入します。
で、「page.users」をループでまわして、
「var user = users[i]」でグループメンバーを代入します。
- user.primaryEmail – メールアドレス
- user.name.fullName – 表示名(日本後環境だと日本語名)
- user.lastLoginTime – 最終ログイン時間
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
function listAllUsers() { var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); var pageToken, page; do { page = AdminDirectory.Users.list({ domain: 'xxxxxx.xx.xx', maxResults: 300, pageToken: pageToken }); var users = page.users; if (users) { for (var i = 0; i < users.length; i++) { var user = users[i]; sheet.getRange(i+2,1).setValue(user.primaryEmail); sheet.getRange(i+2,2).setValue(user.name.fullName); sheet.getRange(i+2,3).setValue(user.lastLoginTime); } } else { Logger.log('No users found.'); } pageToken = page.nextPageToken; } while (pageToken); } |
最後までお読みいただきましてありがとうございました!
「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。
![](https://www.sbcr.jp/wp-content/uploads/2023/01/9784815617929-1-407x596.jpg)
「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。
![](https://www.sbcr.jp/wp-content/uploads/2024/01/9784815625382-3-420x596.jpg)
「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。
![](https://www.shuwasystem.co.jp//images/book/637791.jpg)
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
![](https://book.mynavi.jp/files/topics/135344_ext_06_0.jpg?v=1673514682)
「AWSではじめるLinux入門ガイド」という本を書きました。
![](https://www.yamamanx.com/wp-content/uploads/2023/12/81Rp5O9We6L._SY522_.jpg)
![@yamamanx](https://www.yamamanx.com/wp-content/plugins/lazy-load/images/1x1.trans.gif)
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
-
共有Googleカレンダーを自分のカレンダーに追加してiPhoneに同期する
配信ライブカレンダーという共有カレンダーを作りました。 このようなGoogleの …
-
-
chromium OS をインストールするためのUSBをMacで作る
別にChromeBookを購入するお金をけちるわけではないのですが。 chrom …
-
-
動画間の広告を飛ばすのが面倒になったのでYoutube Premiumに加入しました
テレビのCMは全然見る方なんですが、Youtubeの動画の間の広告ってなんか流し …
-
-
EightにONAIRという機能が追加されてました
名刺サービスのEightにONAIRという機能が追加されていました。 オンライン …
-
-
Twilio APIでOpenWeatherMap APIで取得した天気情報を毎朝モーニングコールする
OpenWeatherMap APIのJsonから取得した気温と天気の情報を、T …
-
-
GoogleAppsScriptを使ってGmailの本文を解析してSpreadSheetにエクスポートする
GoogleAppsScriptを使ってGmailの本文を解析してSpreadS …
-
-
Linux Mint 17 MATE 64bit にAptana Studio 3をインストールして日本語化
JDKのインストール 過去記事「Linux Mint 17 MATE 64bit …
-
-
Google One 100GBプランを購入しました
2021/6/1からGoogle Photos、Gmail、Google Dri …
-
-
スパムリファラーサイトのアクセスをAnalyticsで除外する(2017/8/17現在)
アクセス数とかそんなに気にしないのですが。 嘘です。 リファラーサイトからのアク …
-
-
YoutubeチャンネルにカスタムURLを設定しました
YoutubeチャンネルのURLは初期状態では、https://www.yout …