Exchange Online一覧

NO IMAGE

C# で Exchange Online Remote PowerShell V2 Module を使用して Exchange Online へ接続する (.NET Framework 4.7.2 編)

プログラムから Exchange へ PowerShell 接続する方法として、以下の技術情報が公開されています。 Get a list of mail users by using the Exchange Management Shell ただし本ブログ執筆時点ではこの技術情報の最終更新は 2015 年 9 月と非常に古く、更新が行われていません。またここで説明されている内容は参考にはなりますが、Remote Runspace に接続する方法になっています。Remote Runspace は、ざっくりとしたイメージとしては Exchange サーバーや Exchange On...

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

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 でした。紹介ブログが日本語にも翻訳されていたので、 Start-...

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 を使用することで比較的簡単に動作を確認できます。紹介するのはメッセージ追跡ログの取得方法のみですが、同じ要領で他のレポートも取得できます。 PowerShell で試す Windows PowerShell を起動します。以下のようにコマンドを実行します。認証ダイアログが表示されたら Office 365 の管理者の資格情報を入力してください。ここでは検索条件として差出人のメール アドレスを指定しているので、適宜変更してください。 $Credential ...