Exchange Online で基本認証を無効にする

重要

2022 年 12 月から、従来の Exchange 管理 センターは世界中のお客様向けに非推奨になります。 Microsoft では、新しい Exchange 管理 センターを使用することをお勧めします (まだ使用していない場合)。

ほとんどの機能は新しい EAC に移行されていますが、一部の機能は他の管理センターに移行され、残りの機能は間もなく新しい EAC に移行されます。 その他の機能で新しい EAC にまだ存在しない機能を検索するか 新しい EAC 間を移動するのに役立つグローバル検索を使用します。

注:

organizationでセキュリティの既定値を有効にした場合、基本認証はExchange Onlineで既に無効になっています。 詳細については、「Microsoft Entra IDのセキュリティの既定値」を参照してください。

基本認証がテナントで機能していないためにこのページに到達し、セキュリティの既定値または認証ポリシーを設定していない場合は、Exchange Online全体のセキュリティを向上させるために、広範なプログラムの一環としてテナントの基本認証が無効になっている可能性があります。 メッセージ センターで基本認証に関する投稿がないか確認し、基本認証に関する最新のお知らせについては、「基本認証とExchange Online」を参照してください。

Exchange Onlineの基本認証では、クライアント アクセス要求にユーザー名とパスワードが使用されます。 基本認証をブロックすると、ブルート フォース攻撃やパスワード スプレー攻撃からExchange Online organizationを保護できます。 Exchange Onlineのユーザーに対して基本認証を無効にする場合、メール クライアントとアプリは先進認証をサポートする必要があります。 これらのクライアントは次のとおりです。

organizationに従来の電子メール クライアントがない場合は、Exchange Onlineの認証ポリシーを使用して基本認証要求を無効にすることができます。 基本認証を無効にすると、すべてのクライアント アクセス要求で先進認証が強制的に使用されます。 先進認証の詳細については、「 Office クライアントでの先進認証の使用」を参照してください。

このトピックでは、Exchange Onlineでの基本認証の使用方法とブロック方法、および認証ポリシーに対応する手順について説明します。

Exchange Onlineでの基本認証のしくみ

基本的な認証は、電子メール クライアントがユーザー名とパスワードをExchange Onlineに送信し、Exchange Online電子メール クライアントまたはアプリの代わりに権限のある ID プロバイダー (IdP) に資格情報を転送またはプロキシするため、プロキシ認証とも呼ばれます。 IdP は、organizationの認証モデルによって異なります。

  • クラウド認証: IdP がMicrosoft Entra ID。
  • フェデレーション認証: IdP は、Active Directory フェデレーション サービス (AD FS) (AD FS) などのオンプレミス ソリューションです。

これらの認証モデルについては、次のセクションで説明します。 詳細については、「Microsoft Entra ハイブリッド ID ソリューションに適した認証方法を選択する」を参照してください。

クラウド認証

クラウド認証の手順については、次の図を参照してください。

クラウドベースの認証の基本的な手順と、基本認証がブロックされている場所。

  1. 電子メール クライアントは、ユーザー名とパスワードをExchange Onlineに送信します。

    : 基本認証がブロックされると、この手順ではブロックされます。

  2. Exchange Onlineは、ユーザー名とパスワードをMicrosoft Entra IDに送信します。

  3. Microsoft Entra IDは、ユーザー チケットを Exchange Online に返し、ユーザーが認証されます。

フェデレーション認証

フェデレーション認証の手順については、次の図を参照してください。

フェデレーション認証の基本的な手順と、基本認証がブロックされている場所。

  1. 電子メール クライアントは、ユーザー名とパスワードをExchange Onlineに送信します。

    : 基本認証がブロックされると、この手順ではブロックされます。

  2. Exchange Onlineは、ユーザー名とパスワードをオンプレミスの IdP に送信します。

  3. Exchange Onlineは、オンプレミス IdP からセキュリティ アサーション マークアップ言語 (SAML) トークンを受け取ります。

  4. Exchange Onlineは、SAML トークンをMicrosoft Entra IDに送信します。

  5. Microsoft Entra IDは、ユーザー チケットを Exchange Online に返し、ユーザーが認証されます。

Exchange Onlineでの基本認証のブロック方法

個々のユーザーに認証ポリシーを作成して割り当てることで、Exchange Onlineの基本認証をブロックします。 ポリシーは、基本認証がブロックされるクライアント プロトコルを定義し、ポリシーを 1 人以上のユーザーに割り当てると、指定したプロトコルに対する基本認証要求がブロックされます。

ブロックされると、要求がMicrosoft Entra IDまたはオンプレミス IdP に達する前の最初の事前認証手順 (前の図の手順 1) で、Exchange Onlineの基本認証がブロックされます。 この方法の利点は、ブルート フォース攻撃またはパスワード スプレー攻撃が IdP に到達しないことです (不正なログイン試行が原因でアカウントのロックアウトがトリガーされる可能性があります)。

認証ポリシーはユーザー レベルで動作するため、Exchange Onlineはクラウド organizationに存在するユーザーに対する基本認証要求のみをブロックできます。 フェデレーション認証の場合、ユーザーがExchange Onlineに存在しない場合、ユーザー名とパスワードはオンプレミスの IdP に転送されます。 たとえば、次のようなシナリオについて考えてみます。

  1. organizationにはフェデレーション ドメイン contoso.com があり、認証にオンプレミスの AD FS を使用します。

  2. ユーザーian@contoso.comはオンプレミスのorganizationに存在しますが、Office 365または Microsoft 365 には存在しません (Microsoft Entra IDにはユーザー アカウントがなく、Exchange Onlineグローバル アドレス一覧には受信者オブジェクトがありません)。

  3. 電子メール クライアントは、ユーザー名 を使用してログイン要求をExchange Onlineに送信しますian@contoso.com。 認証ポリシーをユーザーに適用することはできません。認証要求 ian@contoso.com はオンプレミスの AD FS に送信されます。

  4. オンプレミスの AD FS は、 の認証要求 ian@contoso.comを受け入れるか拒否できます。 要求が受け入れられた場合は、SAML トークンがExchange Onlineに返されます。 SAML トークンの ImmutableId 値がMicrosoft Entra IDのユーザーと一致する限り、Microsoft Entra IDはユーザー チケットを発行してExchange Onlineします (Microsoft Entra接続のセットアップ中に ImmutableId 値が設定されます)。

このシナリオでは、contoso.com 認証にオンプレミスの AD FS サーバーを使用する場合、オンプレミスの AD FS サーバーは、パスワード スプレー攻撃中にExchange Onlineから存在しないユーザー名の認証要求を受け取ります。

Exchange ハイブリッド展開では、オンプレミスのメールボックスの認証はオンプレミスの Exchange サーバーによって処理され、認証ポリシーは適用されません。 メールボックスがExchange Onlineに移動された場合、自動検出サービスはそれらをExchange Onlineにリダイレクトし、前のシナリオの一部が適用されます。

Exchange Onlineでの認証ポリシーの手順

認証ポリシーのすべての側面は、Exchange Online PowerShell で管理します。 基本認証をブロックできるExchange Onlineのプロトコルとサービスについて、次の表で説明します。

プロトコルまたはサービス 説明 パラメーター名
Exchange Active Sync (EAS) モバイル デバイス上の一部の電子メール クライアントで使用されます。 AllowBasicAuthActiveSync
自動検出 Outlook および EAS クライアントが、Exchange Online内のメールボックスを検索して接続するために使用します AllowBasicAuthAutodiscover
IMAP4 IMAP メール クライアントで使用されます。 AllowBasicAuthImap
MAPI over HTTP (MAPI/HTTP) Outlook 2010 以降で使用されます。 AllowBasicAuthMapi
オフラインアドレス帳 (OAB) Outlook によってダウンロードおよび使用されるアドレス一覧コレクションのコピー。 AllowBasicAuthOfflineAddressBook
Outlook Service Windows 10のメールと予定表アプリで使用されます。 AllowBasicAuthOutlookService
POP3 POP メール クライアントで使用されます。 AllowBasicAuthPop
Web サービスのレポート Exchange Onlineでレポート データを取得するために使用されます。 AllowBasicAuthReportingWebServices
Outlook Anywhere (RPC over HTTP) Outlook 2016 以前で使用されます。 AllowBasicAuthRpc
認証済み SMTP POP クライアントと IMAP クライアントが電子メール メッセージを送信するために使用します。 AllowBasicAuthSmtp
Exchange Web サービス (EWS) Outlook、Outlook for Mac、サード パーティのアプリで使用されるプログラミング インターフェイス。 AllowBasicAuthWebServices
PowerShell リモート PowerShell を使用してExchange Onlineに接続するために使用されます。 手順については、「Exchange Online PowerShell に接続する」を参照してください。 AllowBasicAuthPowerShell

通常、ユーザーの基本認証をブロックする場合は、すべてのプロトコルの基本認証をブロックすることをお勧めします。 ただし、New-AuthenticationPolicy コマンドレットと Set-AuthenticationPolicy コマンドレットで AllowBasicAuth* パラメーター (スイッチ) を使用して、特定のプロトコルの基本認証を選択的に許可またはブロックできます。

最新の認証をサポートしていない電子メール クライアントとアプリの場合は、必要なプロトコルとサービスの基本認証を許可する必要があります。 これらのプロトコルとサービスについては、次の表を参照してください。

クライアント プロトコルとサービス
古い EWS クライアント
  • 自動検出
  • EWS
以前の ActiveSync クライアント
  • 自動検出
  • ActiveSync
POP クライアント
  • POP3
  • 認証済み SMTP
IMAP クライアント
  • IMAP4
  • 認証済み SMTP
Outlook 2010
  • 自動検出
  • MAPI over HTTP
  • オフライン アドレス帳
  • Outlook Anywhere (RPC over HTTP)
  • Exchange Web サービス (EWS)

注:

基本認証をブロックすると、Exchange Onlineのアプリ パスワードがブロックされます。 アプリ パスワードの詳細については、「アプリ パスワードの作成」を参照してください。

はじめに把握しておくべき情報

  • Exchange Online organizationで先進認証が有効になっていることを確認します (既定で有効になっています)。 詳細については、「Exchange Onlineで Outlook の先進認証を有効または無効にする」を参照してください。

  • 電子メール クライアントとアプリで先進認証がサポートされていることを確認します (トピックの先頭にある一覧を参照してください)。 また、Outlook デスクトップ クライアントで最低限必要な累積的な更新プログラムが実行されていることを確認します。 詳細については、「Outlook 更新」を参照してください。

  • Exchange Online PowerShell への接続方法については、「Exchange Online PowerShell に接続する」を参照してください。

認証ポリシーを作成して適用する

認証ポリシーを作成して適用し、Exchange Onlineで基本認証をブロックする手順は次のとおりです。

  1. 認証ポリシーを作成します。

  2. 認証ポリシーをユーザーに割り当てます。

  3. ポリシーがユーザーに適用されるまで 24 時間待つか、ポリシーを強制的に直ちに適用します。

これらの手順については、次のセクションで説明します。

手順 1: 認証ポリシーを作成する

Exchange Onlineで使用可能なすべてのクライアント プロトコルの基本認証 (推奨される構成) をブロックするポリシーを作成するには、次の構文を使用します。

New-AuthenticationPolicy -Name "<Descriptive Name>"

この例では、Block Basic Auth という名前の認証ポリシーを作成します。

New-AuthenticationPolicy -Name "Block Basic Auth"

構文とパラメーターの詳細については、「 New-AuthenticationPolicy」を参照してください。

:

  • ポリシーの作成後にポリシーの名前を変更することはできません (Set-AuthenticationPolicy コマンドレットでは Name パラメーターを使用できません)。

  • ポリシーで特定のプロトコルに対して基本認証を有効にするには、このトピックの後半の「 認証ポリシーの変更 」セクションを参照してください。 New-AuthenticationPolicy コマンドレットと Set-AuthenticationPolicy コマンドレットでも同じプロトコル設定を使用でき、特定のプロトコルに対して Basic 認証を有効にする手順は両方のコマンドレットで同じです。

手順 2: 認証ポリシーをユーザーに割り当てる

認証ポリシーをユーザーに割り当てるために使用できる方法については、このセクションで説明します。

  • 個々のユーザー アカウント: 次の構文を使用します。

    Set-User -Identity <UserIdentity> -AuthenticationPolicy <PolicyIdentity>
    

    この例では、Block Basic Auth という名前のポリシーをユーザー アカウント laura@contoso.comに割り当てます。

    Set-User -Identity laura@contoso.com -AuthenticationPolicy "Block Basic Auth"
    
  • 属性でユーザー アカウントをフィルター処理する: この方法では、ユーザー アカウントがすべて、ユーザーを識別するために使用できる一意のフィルター可能な属性 (タイトルや部署など) を共有する必要があります。 構文では、次のコマンドを使用します (2 つ目はユーザー アカウントを識別し、もう 1 つを使用してそれらのユーザーにポリシーを適用します)。

    $<VariableName1> = Get-User -ResultSize unlimited -Filter <Filter>
    $<VariableName2> = $<VariableName1>.MicrosoftOnlineServicesID
    $<VariableName2> | foreach {Set-User -Identity $_ -AuthenticationPolicy "Block Basic Auth"}
    

    次の使用例は、 Title 属性に "Sales Associate" という値が含まれるすべてのユーザー アカウントに、Block Basic Auth という名前のポリシーを割り当てます。

    $SalesUsers = Get-User -ResultSize unlimited -Filter "(RecipientType -eq 'UserMailbox') -and (Title -like '*Sales Associate*')"
    $Sales = $SalesUsers.MicrosoftOnlineServicesID
    $Sales | foreach {Set-User -Identity $_ -AuthenticationPolicy "Block Basic Auth"}
    
  • 特定のユーザー アカウントの一覧を使用する: この方法では、ユーザー アカウントを識別するためにテキスト ファイルが必要です。 スペースを含まない値 (Office 365や Microsoft 365 職場または学校アカウントなど) が最適です。 テキスト ファイルには、次のように各行に 1 つのユーザー アカウントが含まれている必要があります。

    akol@contoso.com
    tjohnston@contoso.com
    kakers@contoso.com

    構文では、次の 2 つのコマンドを使用します (1 つはユーザー アカウントを識別し、もう 1 つはそれらのユーザーにポリシーを適用します)。

    $<VariableName> = Get-Content "<text file>"
    $<VariableName> | foreach {Set-User -Identity $_ -AuthenticationPolicy <PolicyIdentity>}
    

    次の使用例は、ファイル C:\My Documents\BlockBasicAuth.txt で指定されたユーザー アカウントに、Block Basic Auth という名前のポリシーを割り当てます。

    $BBA = Get-Content "C:\My Documents\BlockBasicAuth.txt"
    $BBA | foreach {Set-User -Identity $_ -AuthenticationPolicy "Block Basic Auth"}
    
  • Exchange Onlineに同期されるユーザー アカウントオンプレミスの Active Directoryフィルター処理する: 詳細については、このトピックの「Exchange Onlineに同期されるユーザー アカウントオンプレミスの Active Directoryフィルター処理」セクションを参照してください。

注:

ユーザーからポリシーの割り当てを削除するには、Set-User コマンドレットの AuthenticationPolicy パラメーターの値$nullを使用します。

手順 3: (省略可能) 認証ポリシーをユーザーに直ちに適用する

既定では、ユーザーに対する認証ポリシーの割り当てを作成または変更したり、ポリシーを更新したりすると、変更は 24 時間以内に有効になります。 ポリシーを 30 分以内に有効にする場合は、次の構文を使用します。

Set-User -Identity <UserIdentity> -STSRefreshTokensValidFrom $([System.DateTime]::UtcNow)

この例では、認証ポリシーをユーザーに直ちに適用します laura@contoso.com。

Set-User -Identity laura@contoso.com -STSRefreshTokensValidFrom $([System.DateTime]::UtcNow)

この例では、フィルター可能な属性またはテキスト ファイルによって以前に識別された複数のユーザーに認証ポリシーを直ちに適用します。 この例は、まだ同じ PowerShell セッションにいて、ユーザーを識別するために使用した変数を変更していない場合に機能します (後で他の目的で同じ変数名を使用しませんでした)。 例:

$Sales | foreach {Set-User -Identity $_ -STSRefreshTokensValidFrom $([System.DateTime]::UtcNow)}

または

$BBA | foreach {Set-User -Identity $_ -STSRefreshTokensValidFrom $([System.DateTime]::UtcNow)}

認証ポリシーを表示する

既存のすべての認証ポリシーの名前の概要一覧を表示するには、次のコマンドを実行します。

Get-AuthenticationPolicy | Format-Table Name -Auto

特定の認証ポリシーに関する詳細情報を表示するには、次の構文を使用します。

Get-AuthenticationPolicy -Identity <PolicyIdentity>

この例では、Block Basic Auth という名前のポリシーに関する詳細情報を返します。

Get-AuthenticationPolicy -Identity "Block Basic Auth"

構文とパラメーターの詳細については、「 Get-AuthenticationPolicy」を参照してください。

認証ポリシーを変更する

既定では、プロトコルを指定せずに新しい認証ポリシーを作成すると、Exchange Onlineのすべてのクライアント プロトコルに対して基本認証がブロックされます。 つまり、 AllowBasicAuth* パラメーター (スイッチ) の既定値はすべての False プロトコルに対するものです。

  • 無効になっている特定のプロトコルに対して基本認証を有効にするには、値を指定せずにスイッチを指定します。

  • 有効になっている特定のプロトコルの基本認証を無効にするには、値 :$falseのみを使用できます。

Get-AuthenticationPolicy コマンドレットを使用すると、ポリシー内の AllowBasicAuth* スイッチの現在の状態を確認できます。

この例では、POP3 プロトコルの基本認証を有効にし、Block Basic Auth という名前の既存の認証ポリシーで IMAP4 プロトコルの基本認証を無効にします。

Set-AuthenticationPolicy -Identity "Block Basic Auth" -AllowBasicAuthPop -AllowBasicAuthImap:$false

構文とパラメーターの詳細については、「 Set-AuthenticationPolicy」を参照してください。

既定の認証ポリシーを構成する

既定の認証ポリシーは、特定のポリシーがまだ割り当てられないすべてのユーザーに割り当てられます。 ユーザーに割り当てられた認証ポリシーは、既定のポリシーよりも優先されることに注意してください。 organizationの既定の認証ポリシーを構成するには、次の構文を使用します。

Set-OrganizationConfig -DefaultAuthenticationPolicy <PolicyIdentity>

この例では、Block Basic Auth という名前の認証ポリシーを既定のポリシーとして構成します。

Set-OrganizationConfig -DefaultAuthenticationPolicy "Block Basic Auth"

注:

既定の認証ポリシー指定を削除するには、DefaultAuthenticationPolicy パラメーターの値$nullを使用します。

次の例を使用して、既定の認証ポリシーが構成されていることを確認します。

Get-OrganizationConfig | Format-Table DefaultAuthenticationPolicy

認証ポリシーを削除する

既存の認証ポリシーを削除するには、次の構文を使用します。

Remove-AuthenticationPolicy -Identity <PolicyIdentity>

この例では、Test Auth Policy という名前のポリシーを削除します。

Remove-AuthenticationPolicy -Identity "Test Auth Policy"

構文とパラメーターの詳細については、「 Remove-AuthenticationPolicy」を参照してください。

Exchange Onlineで基本認証が正常に無効にされたことを確認するにはどうすればよいですか?

認証ポリシーがユーザーに直接適用されたことを確認するには、

注:

既定の認証ポリシーが既に構成されている可能性があることを考慮してください。 詳細については、「 既定の認証ポリシーを構成 する」を参照してください。

  1. 次のコマンドを実行して、認証ポリシーの識別名 (DN) 値を検索します。

    Get-AuthenticationPolicy | Format-List Name,DistinguishedName
    
  2. 次のコマンドで、認証ポリシーの DN 値を使用します。

    Get-User -Filter "AuthenticationPolicy -eq '<AuthPolicyDN>'"
    

    例:

    Get-User -Filter "AuthenticationPolicy -eq 'CN=Block Basic Auth,CN=Auth Policies,CN=Configuration,CN=contoso.onmicrosoft.com,CN=ConfigurationUnits,DC=NAMPR11B009,DC=PROD,DC=OUTLOOK,DC=COM'"
    

認証ポリシーが、Exchange Onlineの特定のプロトコルに対する特定のユーザーからの基本認証要求をブロックする場合、応答は です401 Unauthorized。 ブロックされたユーザーに関する追加情報が漏洩しないように、クライアントに追加情報は返されません。 応答の例を次に示します。

HTTP/1.1 401 Unauthorized
Server: Microsoft-IIS/10.0
request-id: 413ee498-f337-4b0d-8ad5-50d900eb1f72
X-CalculatedBETarget: DM5PR2101MB0886.namprd21.prod.outlook.com
X-BackEndHttpStatus: 401
Set-Cookie: MapiRouting=#################################################; path=/mapi/; secure; HttpOnly
X-ServerApplication: Exchange/15.20.0485.000
X-RequestId: {3146D993-9082-4D57-99ED-9E7D5EA4FA56}:8
X-ClientInfo: {B0DD130A-CDBF-4CFA-8041-3D73B4318010}:59
X-RequestType: Bind
X-DiagInfo: DM5PR2101MB0886
X-BEServer: DM5PR2101MB0886
X-Powered-By: ASP.NET
X-FEServer: MA1PR0101CA0031
WWW-Authenticate: Basic Realm="",Basic Realm=""
Date: Wed, 31 Jan 2018 05:15:08 GMT
Content-Length: 0

Microsoft 365 管理センターで基本認証を管理する

のMicrosoft 365 管理センターでhttps://admin.microsoft.com、[設定] [組織の設定][先進認証] > の順に移動します>。 表示される [先進認証] ポップアップ で、Basic 認証が不要になったプロトコルを特定できます。

これらの設定では、バックグラウンドで認証ポリシーが使用されます。 認証ポリシーが過去に作成された場合、これらの選択のいずれかを変更すると、最初の新しい認証ポリシーが自動的に作成されます。 このポリシーは、PowerShell でのみ表示されます。 認証ポリシーを既に使用している可能性がある上級のお客様の場合、Microsoft 365 管理センターの変更によって既存の既定のポリシーが変更されます。 Microsoft Entraサインイン ログを確認して、クライアントが変更を行う前に使用しているプロトコルを確認します。

Microsoft 365 管理センターで基本認証をオフにしても、次のレガシ サービスはオフになりません。

  • AllowBasicAuthOutlookService
  • AllowBasicAuthReportingWebServices

これらの設定は、Exchange Online PowerShell でのみオフにすることができます。

  1. 次のコマンドを実行して、既存の認証ポリシーの名前を見つけます。

    Get-AuthenticationPolicy
    
  2. AuthenticationPolicyName を>前の手順の値に置き換え<、次のコマンドを実行します。

    Set-AuthenticationPolicy -Identity "<AuthenticationPolicyName>" -AllowBasicAuthReportingWebServices:$false -AllowBasicAuthOutlookService:$false
    
  3. 前のコマンドは、作成する新しいメールボックスには影響しますが、既存のメールボックスには影響しません。 既存のメールボックスにポリシーを適用するには、次のコマンドで <AuthenticationPolicyName> 値を使用します。

    $mbx = Get-Mailbox -RecipientTypeDetails UserMailbox -ResultSize unlimited
    $mbx | foreach {Set-User -Identity $_.ExchangeObjectID.tostring() -AuthenticationPolicy <AuthenticationPolicyName>}
    

Exchange Onlineオンプレミスの Active Directory同期されるユーザー アカウントをフィルター処理する

このメソッドは、Exchange Onlineと同期されるグループ メンバーオンプレミスの Active Directoryフィルターとして 1 つの特定の属性を使用します。 この方法では、organization全体に影響を与えずに、特定のグループのレガシ プロトコルを無効にすることができます。

この例では、部門とロールに基づいてユーザーを識別する一般的な属性であるため、 Department 属性を使用します。 すべての Active Directory ユーザー拡張プロパティを表示するには、[ Active Directory: 既定のプロパティと拡張プロパティの Get-ADUser] に移動します。

手順 1: Active Directory ユーザーを検索し、Active Directory ユーザー属性を設定する

Active Directory グループのメンバーを取得する

これらの手順では、Windows PowerShellに Active Directory モジュールが必要です。 このモジュールを PC にインストールするには、 リモート サーバー管理ツール (RSAT) をダウンロードしてインストールする必要があります。

Active Directory PowerShell で次のコマンドを実行して、Active Directory のすべてのグループを返します。

Get-ADGroup -Filter * | select -Property Name

グループの一覧を取得したら、それらのグループに属しているユーザーを照会し、属性のいずれかに基づいてリストを作成できます。 値はユーザーごとに一意であるため 、objectGuid 属性を使用することをお勧めします。

Get-ADGroupMember -Identity "<GroupName>" | select -Property objectGuid

次の使用例は、Developers という名前のグループのメンバーの objectGuid 属性値を返します。

Get-ADGroupMember -Identity "Developers" | select -Property objectGuid

フィルター可能なユーザー属性を設定する

ユーザーを含む Active Directory グループを特定したら、ユーザーをフィルター処理するためにExchange Onlineと同期される属性値を設定する必要があります (最終的には基本認証を無効にします)。

Active Directory PowerShell で次の構文を使用して、前の手順で特定したグループのメンバーの属性値を構成します。 最初のコマンドは、 objectGuid 属性値に基づいてグループ メンバーを識別します。 2 番目のコマンドは、 Department 属性値をグループ メンバーに割り当てます。

$variable1 = Get-ADGroupMember -Identity "<GroupName>" | select -ExpandProperty "objectGUID"; Foreach ($user in $variable1) {Set-ADUser -Identity $user.ToString() -Add@{Department="<DepartmentName>"}}

次の使用例は、"Developers" という名前のグループに属するユーザーの値 "Developer" に Department 属性を設定します。

$variable1 = Get-ADGroupMember -Identity "Developers" | select -ExpandProperty "objectGUID"; Foreach ($user in $variable1) {Set-ADUser -Identity $user.ToString() -Add@{Department="Developer"}}

Active Directory PowerShell で次の構文を使用して、属性がユーザー アカウント (現在または過去) に適用されたことを確認します。

Get-ADUser -Filter "Department -eq '<DepartmentName>'" -Properties Department

次の使用例は、 Department 属性の値 "Developer" を持つすべてのユーザー アカウントを返します。

Get-ADUser -Filter "Department -eq 'Developer'" -Properties Department

手順 2: Exchange Onlineでレガシ認証を無効にする

注:

オンプレミス ユーザーの属性値は、有効なExchange Online ライセンスを持つユーザーに対してのみ、Exchange Onlineに同期されます。 詳細については、「 ユーザーを個別または一括で追加する」を参照してください。

Exchange Online PowerShell 構文では、次のコマンドを使用します (2 つ目はユーザー アカウントを識別し、もう 1 つを使用してそれらのユーザーにポリシーを適用します)。

$<VariableName1> = Get-User -ResultSize unlimited -Filter <Filter>
$<VariableName2> = $<VariableName1>.MicrosoftOnlineServicesID
$<VariableName2> | foreach {Set-User -Identity $_ -AuthenticationPolicy "Block Basic Auth"}

次の使用例は、 Department 属性に "Developer" という値が含まれる同期されたすべてのユーザー アカウントに、Block Basic Auth という名前のポリシーを割り当てます。

$developerUsers = Get-User -ResultSize unlimited -Filter "(RecipientType -eq 'UserMailbox') -and (department -like '*developer*')"
$developers = $developerUsers.MicrosoftOnlineServicesID
$developers | foreach {Set-User -Identity $_ -AuthenticationPolicy "Block Basic Auth"}

Active Directory PowerShell セッションExchange Online PowerShell に接続する場合は、次の構文を使用して、Active Directory グループのすべてのメンバーにポリシーを適用できます。

この例では、Marketing Policy という名前の新しい認証ポリシーを作成し、ActiveSync、POP3、認証済み SMTP、IMAP4 クライアントの Marketing Department という Active Directory グループのメンバーに対して基本認証を無効にします。

注:

Active Directory PowerShell の既知の制限により、 Get-AdGroupMember コマンドレットから 5,000 を超える結果が返されなくなります。 したがって、次の例は、メンバーが 5000 未満の Active Directory グループでのみ機能します。

New-AuthenticationPolicy -Name "Marketing Policy" -AllowBasicAuthActiveSync $false -AllowBasicAuthPop $false -AllowBasicAuthSmtp $false -AllowBasicAuthImap $false
$users = Get-ADGroupMember "Marketing Department"
foreach ($user in $users) {Set-User -Identity $user.SamAccountName -AuthenticationPolicy "Marketing Policy"}