見出し画像

どこまでプログラムで解決するべきか?

ユーザーの新規作成を行うとき…

職場で利用している「Google Workspace for Education」にユーザーを作成する場合、管理コンソールで「新しいユーザーを追加」によって一人ずつ追加するなんてことはなく、

「新しいユーザーを追加」で一人ずつ追加

入力すべきデータ(情報)を CSV ファイルのまとめて、「ユーザーの一括更新」によって、作成することがほとんどだと思います。

管理コンソールで「ユーザーの一括更新」

CSV ファイルの作成方法については、以下のヘルプ記事で説明されていますが、日本語圏で使用する場合には CSV ファイルを BOM 付き UTF-8 で保存することを忘れないように!

アップロードするユーザー名に ASCII 以外の文字や全角文字が使用されている場合は、初めに CSV ファイルを BOM 付き UTF-8 で保存してください。

CSV ファイルから複数のユーザーを追加または更新する - Google Workspace 管理者 ヘルプ

3つの作業を行う

うちの職場では、CSV ファイルによってユーザー作成を行う際に、次のような流れで設定作業を行っている。

  1. 【Google スプレッドシート】 CSVファイルの内容チェック
    → 不適切な内容がないかのチェックはもちろんだが、既存ユーザーへの上書きを避けることも目的。既存のユーザーと重複チェックを行うために、GAS のプログラムを作成。

  2. 【管理コンソール】 「ユーザーの一括更新」によってユーザー作成

  3. 【Google グループ】 ユーザーをグループに所属させる
    → 先生用アカウントであればグループ「Classroom の教師」、生徒用アカウントであればそれぞれの学校のグループ「カスタムディレクトリ」に所属させる。
    → 「Google グループ」の UI では、一度に登録できる人数が 200人に制限されているので、人数が多い場合には分割して登録する必要あり。

一連の流れとして 1.~ 2. の処理は忘れないのだけど、3. を設定し忘れてしまうと、

  • 先生用アカウントであれば、「Google Classroom」でクラスが作成できない。

  • 生徒用アカウントであれば、同一校の他の生徒用アカウントを検索できない、他の生徒用アカウントからも検索できない。

といった状況になってしまう… そんな事態にならないように、注意して設定作業を行うようにしていますが、異なるアプリ/サービスを使わなければならないので、とても面倒。

プログラムによって解決

もともと、1. の処理は「Google スプレッドシート」に設定した GAS のプログラムによって、CSV ファイルの内容を既存のユーザーと重複していないかをチェックしていました。
この GAS のプログラムで、2. と 3. の処理も行えるようにしてしまえば、「Google スプレッドシート」で 1. ~ 3. までの処理を一連の流れとして行えるようになるので、設定作業の漏れも発生しなくなる!

チマチマと取り組んで、1. ~ 2. までを GAS で行えるようになりました。もう少しで 3. の処理についても実装できそうですが、これまでに作ってきた

といったプログラムを流用して、きっかけとなったアカウント作成以外の業務でも使えるようにしながら、プログラムを作成しています。

できあがったプログラムは、1. ~ 2. の部分であれば汎用的な処理だと思いますが、3. の処理を含んでいることで、他の学校や組織にはそぐわないものになっていると思うので、一般公開するつもりはありません。

できあがったプログラム

作成してプログラムがあれば、アカウント作成の作業はスムーズに行えるようになり、設定漏れも発生しなくなる。それはよいことなのですが…

ユーザー作成に必要な CSV ファイル(もしくは、スプレッドシートのシート)にまとめられたデータをクラスに設定したり、その逆だったりという処理を行うためのプログラムは、単純に行が多くなる。
プログラム中にコメントなどで説明を残してあるものの、JavaScript ベースで、Google Workspace の AdminDirectory API を使用した GAS のプログラムをすんなりと理解してくれる人がどれだけいるか…

  • プログラムを作成したわたし自身が、人事異動でこの業務から外れたら、誰がメンテナンスするのか?

  • Microsoft 365 A3 のユーザー作成との関係は?

  • 文部科学省が導入を進めている MEXCBT に必要な「学習 e ポータル」が、SSO に利用するクラウドサービスのアカウント管理も行えるとか?
    そうなると、そもそもの運用方法も変わる?

などと考えだしたら、こういったプログラムは作るべきなのかどうなのかが悩ましくなってきた。😣 ひとまず、引継ぎを意識しながら、自分自身が楽になるようにしておこうと思います。

この記事が気に入ったらサポートをしてみませんか?