てんちょです。先日、生成AIに課金してアプリの開発を始めた話を書きましたが、その続き。
延々と3択の質問を浴びせられ、2時間経っても要件定義が終わらないという状況でしたが、その後も根気よく付き合い、ようやく要件定義が終わり開発に着手しました。
今回作成したのは、Microsoft 365の共有メールボックスのアクセス権を管理するアプリ。
これまではActive Directoryからセキュリティグループのメンバーを取得し、PowerShellで一括設定していました。これでも作業はできるのですが、設定結果の確認が面倒だったり、コマンド操作が直感的ではなかったりと、少々不便を感じていました。
かといって、Microsoft 365の管理センターは動作が遅く、人数が多いと結構な時間がかかります。そこで、Pythonを使ってGUIで操作できるアプリを作ってみようというわけです。
完成したアプリでは、裏でPowerShell7を起動させてExchangeOnlineとGraphに接続し、共有メールボックスやユーザーの一覧とセキュリティーグループを取得。そこからアクセス権の追加や削除ができるようになりました。もちろん、現在設定されている権限も画面上で確認できます。さらに、CSVファイルを使った一括設定にも対応。大量の権限設定もまとめて処理できるようになりました。
ここまでできれば十分と思っていたのですが、要件定義でやたらと気にしていたエラー処理やログの記録なども盛り込まれ、思っていた以上に本格的なアプリになってしまいました。
それにしても驚いたのは、こちらがPythonのコードを全く書かずに、ここまで完成させられたことです。やりたいことを日本語で伝え、提案された仕様を確認しながら進めるだけで、実際に動くアプリができてしまいました。
もちろん、生成AIが作ったものを無条件に信用するわけにはいきません。実際に動かしてみるとAutoMappingがデフォルトで有効になっておらず、権限は設定されてもOutlookに表示されないという問題が発生。自分のアカウントでテストしていたので、共有メールボックスが表示されなくなり少し焦りました。
こんなアプリがあったらいいなぁと探しても中々思っていたものが存在しないこともありましたが、これからは必要なものはAIに生み出してもらうということが可能な便利な世の中になりそうですね。

すでに課金した分の元は取れた気分。次は何を作ろう。
(投稿者:てんちょ)

とはいえ、カメラ設置はあと8か所残っています・・・。
無事に有効期限が1年間延長され、ホッとしました。