Ryutaro一覧

NO IMAGE

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

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

Microsoft Graph で会議の別の時間を提案する

2020 年 7 月の更新で、会議出席依頼における新しい時間の提案に関するプロパティが Microsoft Graph に追加されました。 実際に動きを見てみましょう。まず以下のように User01 から User02 へ明示的に allowNewTimeProposals を true にした会議出席依頼を送信します。 POST { "subject": "Let's go for lunch", "body": { "contentType": "HTML", "content": "Does late morning work for...

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

Microsoft Graph PowerShell SDK Preview

Microsoft Graph PowerShell SDK が GA したので以下の記事を公開しています。Microsoft Graph PowerShell SDK の試し方本記事はプレビュー中の内容について記載したもので、GA バージョンには当てはまりません。 PowerShell 向けの Microsoft Graph のモジュールがプレビュー提供されています。PowerShell から Microsoft Graph を使用するためのラッパーのようなモジュールになっています。以前は PowerShell Gallery にも登録されていない状態でしたが、現時点では Power...

NO IMAGE

Windows PowerShell で MSAL を使って EWS 用のアクセス トークンを取得する

C# で MSAL (Microsoft.Identity.Client) を使って EWS 用のアクセス トークンを取得する方法は Authenticate an EWS application by using OAuth に記載されています。しかしながら PowerShell の場合については Docs に記載がありません。こちらのブログでは PowerShell の場合についての記載がありますが、ADAL も MSAL も使用しない実装になっています。「ライブラリを使用しなくても実装できることをわざわざライブラリを使用して実装するのは面倒」と考えることもできますが、ブログに記載の方法...

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 のような、アイテムのメッセ...