Google WorkspaceのユーザーをエクスポートしてAzureADにインポートする際のCSV変換スクリプトを書いた

面倒なので背景をすっ飛ばすけどGoogle WorkspaceのユーザーをAzureADにもっていきたいことありますよね。Google WorkspaceでエクスポートしたCSVをAzureADでインポートするだけですが、だけと言うには面倒なCSVのフォーマット変換処理が必要です。そのCSVフォーマット変換スクリプトRubyでチャッと書きました。

プログラミングができる人ならば、この処理はパッと書けると思うのでブログにするつもりはなかったのですが、情シス界隈でこれからプログラミングを学んでいこうという人とかのニッチな困りがあるかもしれないと思って書くことにしました。

Google WorkspaceからエクスポートしたCSVを各行ごとに処理し、AzureADのCSVインポートフォーマットに変更していくだけの適当なスクリプトを書きました。各自のパスワードをバラバラに作れるようにはできていないし、jobTitleやdepartmentは入ってないこと前提になっているし、usageLocationもJapan決め打ちでとてもアレだけどGoogle Workspaceに情報が入っていればそれを使うようにしてあげればいいですね。

ちなみに、Google WorkspaceのCSVフォーマットか、AzureADのCSVフォーマットのどちらかが変更されると使えません。

gist.github.com

このスクリプトの動作には、Google WorkspaceからエクスポートしてきたCSVと、AzureADのCSVインポートをしようとしたときのCSVテンプレートをダウンロードしてazuread_header.csvという名前で保存しておく必要があります。

CSVのヘッダーと、データが別の2ファイルから1つのCSVファイルを作る方法は以下の記事のyancyaさんによる技を使いました。

qiita.com

learn.microsoft.com