Exchange Online一覧

Azure ポータルの [アプリの登録] で [サポートされるレガシ API] から Exchange を選択できない

Azure ポータルで Azure AD にアプリを登録した後、 - からアプリの使用するアクセス許可を事前に登録する場合があります。以前は以下のようにこの画面の に Exchange がありましたが、2020/11/18 ごろから Exchange は無くなりました。 これは、Outlook REST API の廃止がアナウンスされたことに起因するものです。Outlook REST API を使用する新しいアプリが登録できないように、 から Exchange が削除されました。 Outlook REST API も含め、複数の API がこの GUI の変更の影響を...

NO IMAGE

Exchange Online への PowerShell 接続を非対話的に行う方法

Exchange Online の基本認証無効化に伴い、従来の接続方法からよりセキュアな方法へ見直しが必要になっています。特に夜間バッチなどの自動化システムにおいて、どのように非対話的に Exchange Online へ接続するかを検討する必要があります。 この記事では、非対話的に接続するための考えられる方法と、そのメリット・デメリットを紹介します。 考えられる方法: 従来のまま New-PSSession に -Credential で資格情報を渡す従来の Exchange Online Remote PowerShell Module の Connect-EXOPSS...

NO IMAGE

OAuth を使って Exchange Online に POP で接続する

Exchange Online の基本認証無効化に向けて、POP でも OAuth がサポートされるようになりました。開発者向けの情報は以下のページに記載されています。 C# で実装する場合の基本的な内容を作成したので、以下にサンプル コードを紹介します。コード自体に対する説明は特にないので、上記の開発者向けページと併せて読んでいただければと思います。必要最低限の内容のみを実装しているため、本格的に実装を行うには Microsoft Identity Platform や POP の知識が必要になります。C# のコンソール アプリケーションとなっており、認証ライブラリとして MSAL ...

NO IMAGE

OAuth を使って Exchange Online に SMTP で接続する

Exchange Online の基本認証無効化に向けて、SMTP でも OAuth がサポートされるようになりました。開発者向けの情報は以下のページに記載されています。 C# で実装する場合の基本的な内容を作成したので、以下にサンプル コードを紹介します。コード自体に対する説明は特にないので、上記の開発者向けページと併せて読んでいただければと思います。必要最低限の内容のみを実装しているため、本格的に実装を行うには Microsoft Identity Platform や SMTP の知識が必要になります。C# のコンソール アプリケーションとなっており、認証ライブラリとして MSA...

NO IMAGE

OAuth を使って Exchange Online に IMAP で接続する

Exchange Online の基本認証無効化に向けて、IMAP でも OAuth がサポートされるようになりました。開発者向けの情報は以下のページに記載されています。 C# で実装する場合の基本的な内容を作成したので、以下にサンプル コードを紹介します。コード自体に対する説明は特にないので、上記の開発者向けページと併せて読んでいただければと思います。必要最低限の内容のみを実装しているため、本格的に実装を行うには Microsoft Identity Platform や IMAP の知識が必要になります。C# のコンソール アプリケーションとなっており、認証ライブラリとして MSA...

NO IMAGE

RobustCloudCommand Module の紹介

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

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 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...