Facebook の Office 365 コミュニティで教えてもらったネタなのですが、最近は Office 365 で多要素認証 (MFA) を設定している環境でも、Outlook 用のアプリケーションパスワードなしで接続できるそうです。但し、古いテナントでは設定の変更が必要になります。
Exchange Online の先進認証 (modern authentication) 設定を変更する
以下のページに手順がまとまっています。
1. PowerShell で Exchange Online に接続 *1
$exchangeSession = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell -Credential $credential -Authentication "Basic" -AllowRedirection Import-PSSession $exchangeSession
2. 先進認証設定を確認
以下のコマンドで設定を確認することができます。
Get-OrganizationConfig | Format-Table -Auto Name,OAuth*
うちのテナントでは 無効 になっているようです。
PS C:\> Get-OrganizationConfig | Format-Table -Auto Name,OAuth* Name OAuth2ClientProfileEnabled ---- -------------------------- XXXXXX.onmicrosoft.com False
この状態で アプリケーションパスワード を消して、Outlook を起動すると、当然のようにパスワードの入力を求められます。
3. 先進認証設定を変更
以下のコマンドで設定を変更します、
Set-OrganizationConfig -OAuth2ClientProfileEnabled $true
この状態で Outlook を起動すると、無事に接続できる事が確認できます。これで都度、利用者にアプリケーションパスワードを作成してもらわなくてもよくなりますね。
Skype for Business も設定しておく
冒頭のページには、Exchange Online で先進認証の状態を SKype for Business と同期する方法についても紹介されていました。
1. PowerShell で Skype for Business に接続 *2
$credential = Get-Credential $session = New-CsOnlineSession -Credential $credential Import-PSSession $session
2.同期設定の確認
Get-CsOAuthConfiguration
ClientAdalAuthOverride の項目が NoOverride になっていますね。
3.同期設定の変更
以下のコマンドで同期設定を許可します。
Set-CsOAuthConfiguration -ClientAdalAuthOverride Allowed
ある程度前から契約していて、 Outlook や Skype for Business でアプリケーションパスワードを使っているテナントの方は試してみてください。