アプリが完成

てんちょです。先日、生成AIに課金してアプリの開発を始めた話を書きましたが、その続き。

延々と3択の質問を浴びせられ、2時間経っても要件定義が終わらないという状況でしたが、その後も根気よく付き合い、ようやく要件定義が終わり開発に着手しました。
今回作成したのは、Microsoft 365の共有メールボックスのアクセス権を管理するアプリ。

これまではActive Directoryからセキュリティグループのメンバーを取得し、PowerShellで一括設定していました。これでも作業はできるのですが、設定結果の確認が面倒だったり、コマンド操作が直感的ではなかったりと、少々不便を感じていました。
かといって、Microsoft 365の管理センターは動作が遅く、人数が多いと結構な時間がかかります。そこで、Pythonを使ってGUIで操作できるアプリを作ってみようというわけです。

完成したアプリでは、裏でPowerShell7を起動させてExchangeOnlineとGraphに接続し、共有メールボックスやユーザーの一覧とセキュリティーグループを取得。そこからアクセス権の追加や削除ができるようになりました。もちろん、現在設定されている権限も画面上で確認できます。さらに、CSVファイルを使った一括設定にも対応。大量の権限設定もまとめて処理できるようになりました。
ここまでできれば十分と思っていたのですが、要件定義でやたらと気にしていたエラー処理やログの記録なども盛り込まれ、思っていた以上に本格的なアプリになってしまいました。

それにしても驚いたのは、こちらがPythonのコードを全く書かずに、ここまで完成させられたことです。やりたいことを日本語で伝え、提案された仕様を確認しながら進めるだけで、実際に動くアプリができてしまいました。

もちろん、生成AIが作ったものを無条件に信用するわけにはいきません。実際に動かしてみるとAutoMappingがデフォルトで有効になっておらず、権限は設定されてもOutlookに表示されないという問題が発生。自分のアカウントでテストしていたので、共有メールボックスが表示されなくなり少し焦りました。

こんなアプリがあったらいいなぁと探しても中々思っていたものが存在しないこともありましたが、これからは必要なものはAIに生み出してもらうということが可能な便利な世の中になりそうですね。


すでに課金した分の元は取れた気分。次は何を作ろう。

(投稿者:てんちょ)

カテゴリー: つぶやき | コメントする

感無量のカメラ設置

ども。
10月に入ってからの時間の進み方が異常なほど早いと感じている担当ちゅんです。

このブログで過去2回にわたり、泥臭い現場の実情をお伝えしてきた「河川河口部への防災カメラ設置」。何もない場所に一からモノを造ることの大変さを身をもって体験し、少しずつ形になっていくことを喜ぶ、そんな現場のリアルをお届けしてまいりましたが、このたびついにカメラが設置され「完成」の日を迎えました。

現場にはすでに電柱を設置済みでしたので、当日はそれに対して機器を取り付けて動作テスト。現地からクラウド経由でカメラ画像を確認して画角の調整。ここまで来れば失敗する要素などどこにもなく、1年近く続いた業務がついに終わりを迎えました。

今回、なぜこんな苦労をしてまで河口にカメラを設置したのかには理由があって、それは実際に災害が発生した場面で職員がどのような動きをしているかを見てきたからこその理由があります。災害発生時には人手がいくらあっても足りないという状況になる中で「現地を確認する要員が確保できるのか」という課題、そして何より「職員が直接見に行くという行為自体が危険であり、避けなければならない」という課題がありました。

少子高齢化の時代を迎えていて、以前までは人海戦術でどうとでもなったような業務も、そのままの形では実施が困難になるという場面は今後ますます増えていきます。そういう時にこそ、デジタルの力(IoTやAI)が必要になるのだと実感しました。一見すると目新しくて派手な取り組みに見えるものも、結局は「現場の課題をどこまで解決できるか」という尺度で評価していくことが何より重要なのだと、あらためて学んだ業務となりました。

ちょっと堅い話になっちゃいましたが、カメラの現場はすっかり秋。夏はアブ、その後はトンボと、現れる虫に季節を感じていましたが、今はもう虫の気配もありません。目の前には冬の足音が聞こえてきています。ともあれ、熊や蛇に出くわすことなく無事に業務を終えられて、心底ホッとしています。

カメラ設置とはいえ、カメラ設置はあと8か所残っています・・・。

(投稿者:ちゅん)

カテゴリー: つぶやき | コメントする

ついに手を出してしまいました

てんちょです。これまで無料版でお世話になっていた生成AIですが、ついに有料版に手を出してしまいました。

せっかくお金を払ったのですから、色々と使ってみなければもったいない。ということで、以前から気になっていた業務の効率化に挑戦することにしました。今回のお題は、Microsoft 365の共有メールボックスのアクセス権を一括設定するアプリの作成。

現在はActive Directoryからセキュリティグループのメンバーを取得し、PowerShellで一括設定しています。これだけでも十分便利なのですが、本当に全員分の設定が正しく反映されているのか、いまひとつ自信がありません。確認する方法はあるものの、人数が多いと面倒です。だったら、設定から結果の確認までできるアプリをPythonで作ってしまおうというわけです。

早速AIにお願いすると、まずは要件定義から始めましょうとのこと。確かに、業務で使うものですから、仕様をしっかり決めることは大切です。

ところが、ここからが大変でした。

「次の3つの案から選んでください」

「案2でお願いします」

「では、こちらについても3つの案があります」

また3択…。

回答するたびに次の3択が登場します。特にエラー処理やログの取得には相当なこだわりがあるようで、何を記録するのか、どこに保存するのか、失敗した場合はどうするのかと、実に細かい。確かに大切なのは分かりますが、そろそろ画面の一つくらい見てみたいところです。

そんなやり取りを続けているうちに、気がつけば2時間が経過。驚くことに、まだ要件定義が終わっていません。当然、コードも1行たりともできていません。ただ、これだけ長時間やり取りしても、今のところ利用制限に引っかかっていないのは便利です。こちらが疲れてきても、AIは次々と提案してくれます。

設定結果が分からなくて不安だったのでアプリを作ろうと思ったのに、今度は要件定義がいつ終わるのか分からなくて不安になってきました。

とりあえず、次の3択に答えることにします。


本当にできあがるのか不安。

(投稿者:てんちょ)

カテゴリー: つぶやき | コメントする

年に1回の行事を「やっぱり」忘れる

ども。
夕食に鍋が登場することが多くなってきました。担当ちゅんです。

月日が経つのは早いものです。八雲町が職場の固定電話を廃して、職員にスマホを配備してから1年が経とうとしています。設計や切り替え作業のときは色々ありましたが、運用後には大きなトラブルは発生しておらず、運用の担当者としては「それこそが何よりだ」と思っていました。

ですが、裏側ではやはり色々起きています。先日、隣席の「てんちょ」がMDMを操作しながら、ぼそっと一言。「なんか警告画面が出ています。証明書の期限が切れているとかなんとか・・・」と。最初は「ふ~ん」と反応したのですが、すぐに事の重大さに気がつき、「えっ!?もう一回!何の期限切れだって!?」と。
・・・やってしまいました。期限が切れていたのは、MDMに登録していたAppleのプッシュ通知証明書、MDMのサーバトークン、さらにはVPPトークン。これらは公用スマホとして採用しているiPhoneを管理するために必要なものなので、有効期限はどれも「1年間」。導入時には「絶対に忘れないように!」と何度も念を押して確認していたはずのものでした。

一応、システムにも有効期限超過前に通知メールを出す機能はありました。・・・が、そのメールもスルー。届いていたのかもしれませんが、それすら定かではないという情けない状況です。どちらにせよ、有効期限切れという事実は変わりません。一瞬頭をよぎったのは、「有効期限が切れたら更新ではなく新規発行になるのでは?」という最悪のシナリオ。もしそうなれば、職員に配備済みのスマホを全台回収したうえで、初期化が必要になってしまいます。

更新手順を確認し、祈る気持ちで更新サイトにアクセス。「更新のボタンがグレーアウトしていたらお終いだぞ・・・」と恐る恐る操作をしてみると――よかった!無事に有効期限が延長され、証明書ファイルがダウンロードできました。
MDMへのセットも完了し、どっと疲れが押し寄せました。全てが終わった後に思わず出た言葉は「スマホは難しいね」。WindowsのPCであれば多少のことが起きても「ま、大丈夫だべ」と流せるのですが、どうもスマホは勝手が違います。そして、極めつけはてんちょからダメ押しの一言。「昨年の作業時に、『絶対忘れると思う』って言ってましたよね」。
先週食べたものも思い出せない人間が、1年前の作業を覚えていられるはずもないととは思いつつ、2度と肝を冷やさずに済むよう、来年に向けた対策を立てようと心に誓いました。

スクリーンショット無事に有効期限が1年間延長され、ホッとしました。

(投稿者:ちゅん)

カテゴリー: つぶやき | コメントする

いつもの撮影

てんちょです。10月に入り朝の気温もかなり下がってきてついに上着を着て通勤するようになりました。もう1か月もすると雪の季節ですね。

先日ちゅん氏の投稿にあったとおり、職場でとあるシステムの説明会が実施されました。ちゅん氏がAPの逼迫状況を管理画面で確認する横で、私は説明会の動画撮影。説明会といえば動画撮影、というくらい当たり前に様々な場面で動画を作る機会が増えましたね。今回は全職員が関係するシステムの更新ということで集合形式での説明会でしたが、やはり集合形式だとどうしても都合がつかなくて参加できない職員も出てきますが、動画さえあればあとで確認することもできますし、新採用職員が見ることもできるので職員研修も楽になります。ということでこれまで撮影された動画はほとんど保存してあり、Boxが導入されたことでファイルサーバの容量を気にすることもなくなりました。

さていつもであれば、私物のビデオカメラを持ち込んだり、WebカメラをOBSに繋いで取り込んだりしていましたが、先日ある講演会を公用スマホで撮影する実験に成功したばかり。今回は公用スマホで撮ってみることにしました。説明会の開始10分前、試しに会場を撮影してみたところ説明に使用しているモニタが思っていたよりも見えにくいということが発覚。さすがに大型モニタでも細かい文字までは微妙な感じでした。そこで他に方法がないか考えていたところ、モニタに「HDMI-OUT」が付いているのを発見。USBキャプチャデバイスを持ってきて繋いでみたところ謎の壁紙が…そうでしたこの大型モニタは電子黒板のようなOS内蔵のデバイス。内蔵OSのセカンダリディスプレイが表示されていただけ。

そこで説明会用に用意したPCのSnippingToolを使って画面ごとキャプチャしてみることにしました。もう開始時間が迫っていたため、とりあえず公用スマホでの撮影+ぶっつけ本番の画面キャプチャで挑むことに。終わって確認してみると、画面は問題なく撮影できていたものの音声が入っていませんでした。スマホの音声を合わせてもいいかと思いましたが、正直ちょっと編集がめんどくさい…。当日の説明会は2部構成だったので、画面キャプチャだけやり直すことにしました。2回目の開始まで時間はあったので、Snipping Toolの設定を確認。音声関連の設定を変更してテストしてみましたが大丈夫そうです。

という感じで無事に素材があ集まり、公用スマホで撮影した映像をBoxにアップロード、キャプチャ映像と合わせて不要な部分をカット、音量の調整などを行い翌日には完成しました。動画公開用の内部サイトも生成AIに作らせてみたりして即公開。
これまでOBSを使わずに画面をそのままキャプチャする方法を会得したことで、機材準備や撮影の手間が大幅に軽減できそうです。


公開ページの作成もあっさり終わり。いろいろと便利な時代になってきましたね。

(投稿者:てんちょ)

カテゴリー: つぶやき | コメントする