Ryutaro一覧

Microsoft Graph Toolkit の試し方

Web アプリケーションで Microsoft Graph を使用しやすいように Microsoft Graph Toolkit としていくつかのコンポーネントが用意されています。簡単に使い方を紹介します。 まずは Overview のページに記載の内容を実践しつつ、MSAL provider と Login component を使います。 Visual Studio Code の準備 ここではコード エディターとして Visual Studio Code を使います。ローカルでのデバッグ用に拡張機能の Live Server を使うので、Live Server をイン...

NO IMAGE

RobustCloudCommand Module の紹介

以前は Script だった Start-RobustCloudCommand.ps1 が、Module になってしかも MFA にも対応したということで、使い方を紹介します。 おさらい Exchange Online の PowerShell はスロットリングやセッションの不安定さなどの問題から、長時間大量のオブジェクトに対する処理を実行するのがものすごく苦手です。そんな時にセッションを管理しながら Exchange Online のコマンドを実行するのが Start-RobustCloudCommand.ps1 でした。 準備 はじめにモジュールのインストールを行...

Microsoft Graph で MAPI プロパティを取得する

Microsoft Graph で標準的に取得できるアイテムのプロパティは、Microsoft Graph で用意されているものだけです。例えばメールを表す message では以下のページにプロパティが書いてあります。 message resource type この一覧にない情報であっても、拡張プロパティとして取得することが可能です。Property Set によって取得方法が少し異なるので、例としてメッセージ クラスの取得の仕方と CleanGlobalObjectId の取得の仕方を紹介します。 メッセージ クラス IPM.Note のような、アイテムのメッセ...

NO IMAGE

Microsoft Graph の getSchedule

Microsoft Graph の getSchedule は、空き時間情報を取得する API です。Outlook のスケジュール アシスタントのように、他人の予定の詳細ではなく空いているかどうかを取得します。基本的なことは Get free/busy schedule of users and resources や calendar: getSchedule を参照してください。 空き時間情報にも何段階かあります。どこまでの情報が取得できるのかは、参照先ユーザーの予定表に対してどこまでの権限を持っているのかによって異なります。いくつかのパターンで見ていきましょう。 まずはテ...

NO IMAGE

Exchange Online の全ユーザーのメールボックスを取得する

Exchange Online PowerShell V2 Module の登場で、大量のオブジェクトでも通信が安定するようになりました。この記事の内容は初回投稿のまま残していますが、現在は Get-EXOMailbox コマンドを使用することで大量のメールボックスも取得しやすくなっています。 Exchange Online では、以下のような全ユーザーを取得するコマンドが失敗するという話をよく聞きます。 Get-Mailbox -ResultSize Unlimited これは割と有名な話で、特に大規模な環境でユーザー数が多いと失敗します。データ量が多くなることが問題の ...

NO IMAGE

Office 365 の監査ログを全部取得したい?

本当に監査ログを取得する必要があるのか Office 365 の監査ログを長期に渡って保存する必要があり全部取得したいという話を時々聞きます。そんな時は、一度冷静に考える必要があります。 なぜ 180 日 (もしくは 1 年または 10 年) 以上保存する必要があるのか 監査ログを取得しなかったら何が起きるのか 取得したとして、どうやって保存するのか 保存した監査ログをどうやって検索するのか 根本的に、Office 365 の監査ログの保存期間は原則 180 日です (以前は 90 日でしたが 2023 年 10 月から 180 日に延長され...

NO IMAGE

Office 365 Management Activity API の試し方

Office 365 Management Activity API を簡単に試す方法はありませんが、Office365APIEditor を使用することで比較的簡単に動作を確認できます。紹介するのは Exchange 関連の監査ログの取得方法のみですが、同じ要領で他の監査ログも取得できます。Office365APIEditor の通信を Fiddler で取得すれば、どのような通信が行われているのか確認することができます。実際に Office 365 Management Activity API を使用するアプリケーションを開発する場合は、これらの通信を実装することになります。なお前提と...

NO IMAGE

Office 365 Reporting Web サービスの試し方

Office 365 Reporting Web Service を簡単に試す方法はありませんが、PowerShell を使用することで比較的簡単に動作を確認できます。ここではメッセージ追跡ログの取得方法を紹介します。 なお公式ドキュメントは以下にありますが、十分にメンテナンスが行われていないのでご注意ください。Office 365 Reporting web service | Microsoft DocsMessageTrace report | Microsoft DocsMessageTraceDetail report | Microsoft Docs を使用してアク...

NO IMAGE

Exchange Web Service (EWS) の試し方

Exchange Web Service (EWS) を気軽に試す方法はありませんが、EWSEditor を使用して操作を行い、通信を Fiddler で確認するとどのような通信を行っているのかが確認できます。そのため、ここでは EWSEditor を使用して Exchange Online の EWS に接続する方法を紹介します。実際に EWS を使用するアプリケーションを開発する場合は、これらの通信を EWS Managed API を使用しながら (もちろん使用しないことも可能) 実装することになります。なお Exchange Online では EWS よりも Microsoft G...

NO IMAGE

Outlook REST API の試し方

Outlook REST API は 2022/11/30 で廃止されることがアナウンスされています。既に Azure AD への Outlook REST API を使用する新しいアプリの登録もできなくなっています。これからアプリケーションを開発する場合は、Microsoft Graph を使用してください。 Outlook REST API を試すには Outlook Sandbox を使用するのが簡単です。ですが自分で用意した Client ID を使用したり、アプリケーションの権限を使用したりすることはできません。また Outlook Sandbox も 2020 年いっぱいで...