停用 Exchange Online 中的基本驗證

重要事項

自 2022 年 12 月起,全球客戶將淘汰傳統 Exchange 管理員 Center。 如果尚未這麼做,Microsoft 建議使用新的 Exchange 管理員 Center

雖然大部分的功能已移轉至新的 EAC,但有些已移轉至其他系統管理中心,其餘的功能很快就會移轉至新的 EAC。 在新的EAC中尋找尚未存在的功能,請參閱 其他功能 ,或使用可協助您流覽新 EAC 的全局搜尋。

注意事項

如果您已在組織中啟用安全性預設值,則已在 Exchange Online 中停用基本身份驗證。 如需詳細資訊,請參閱 Microsoft Entra ID 中的安全性預設值

如果您已到達此頁面,因為基本身份驗證無法在您的租用戶中運作,而且您尚未設定安全性預設值或驗證原則,則我們可能已在您的租使用者中停用基本身份驗證,作為更廣泛程式的一部分,以改善 Exchange Online的安全性。 如需任何參照基本身份驗證的文章,請參閱您的訊息中心,並閱讀基本身份驗證和 Exchange Online 以取得有關基本身份驗證的最新公告。

Exchange Online 中的基本驗證針對用戶端存取要求使用使用者名稱和密碼。 封鎖基本驗證可以協助保護您的 Exchange Online 組織,免於暴力密碼破解或密碼噴濺攻擊。 當您針對 Exchange Online 中的使用者停用基本驗證時,他們的電子郵件用戶端和應用程式必須支援新式驗證。 這些用戶端是:

如果您的組織沒有舊版電子郵件用戶端,您可以在 Exchange Online 中使用驗證原則來停用基本身份驗證要求。 停用基本身份驗證會強制所有用戶端存取要求使用新式驗證。 如需新式驗證的詳細資訊,請 參閱搭配 Office 用戶端使用新式驗證

本主題說明如何使用基本驗證和如何在 Exchange Online 中封鎖,以及驗證原則的對應程序。

Exchange Online 中基本驗證的運作方式

基本驗證也稱為 Proxy 驗證,因為電子郵件用戶端會將使用者名稱和密碼傳輸到 Exchange Online,然後 Exchange Online 代表電子郵件用戶端或應用程式,將認證轉送或 Proxy 到授權識別提供者 (IdP)。 IdP 是依據貴組織的驗證模型:

  • 雲端驗證:已 Microsoft Entra ID IdP。
  • 同盟驗證:IdP 是內部部署解決方案,例如 Active Directory 同盟服務 (AD FS)。

這些驗證模型會在下列各節中說明。 如需詳細資訊,請參閱為您的 Microsoft Entra 混合式身分識別解決方案選擇正確的驗證方法

雲端驗證

下圖說明雲端驗證中的步驟:

雲端型驗證的基本步驟,以及基本驗證的封鎖位置。

  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 中封鎖基本驗證。 原則會定義在其中封鎖基本驗證的用戶端通訊協定,並且將原則指派給針對指定通訊協定封鎖其基本驗證要求的一或多個使用者。

當封鎖時,在要求到達 Microsoft Entra ID 或內部部署IdP之前, (上圖中步驟1的第一個預先驗證步驟會封鎖 Exchange Online 中的基本身份驗證) 。 這個方法的優點是暴力密碼破解或密碼噴濺攻擊不會到達 IdP (由於不正確的登入嘗試,可能會觸發帳戶鎖定)。

因為驗證原則是在使用者層級進行操作,Exchange Online 只能針對存在於雲端組織中的使用者封鎖基本驗證要求。 針對同盟驗證,如果使用者不存在於 Exchange Online 中,使用者名稱和密碼會轉送到內部部署 IdP。 例如,請考量下列情境:

  1. 組織具有同盟網域 contoso.com,並且針對驗證使用內部部署 AD FS。

  2. 使用者ian@contoso.com存在於內部部署組織中,但不在 Office 365 或 Microsoft 365 中, (Microsoft Entra ID 中沒有使用者帳戶,Exchange Online 全域通訊清單) 中沒有收件者物件。

  3. 電子郵件用戶端會將登入要求傳送至用戶名稱ian@contoso.com為 的 Exchange Online。 驗證原則無法套用至使用者,且的驗證要求 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 Connect 安裝) 期間設定 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 服務 由 Windows 10 版郵件和行事曆應用程式使用。 AllowBasicAuthOutlookService
POP3 由 POP 電子郵件用戶端使用。 AllowBasicAuthPop
報告 Web 服務 用來擷取 Exchange Online 中的報告資料。 AllowBasicAuthReportingWebServices
Outlook 無所不在 (RPC over HTTP) 由 Outlook 2016 和更舊版本使用。 AllowBasicAuthRpc
已驗證的 SMTP 由 POP 和 IMAP 用戶端用來傳送電子郵件訊息。 AllowBasicAuthSmtp
Exchange Web 服務 (EWS) 程式開發介面,由 Outlook、Mac 版 Outlook 和第三方應用程式使用。 AllowBasicAuthWebServices
PowerShell 用來連線 Exchange Online 與遠端 PowerShell。 如需詳細指示,請參閱連線到 Exchange Online PowerShell AllowBasicAuthPowerShell

一般而言,當您封鎖使用者的基本驗證時,我們建議您封鎖所有通訊協定的基本驗證。 不過,您可以使用 New-AuthenticationPolicySet-AuthenticationPolicy Cmdlet 上) 的 AllowBasicAuth* 參數 (參數,選擇性地允許或封鎖特定通訊協定的基本身份驗證。

對於不支援新式驗證的電子郵件用戶端和應用程式,您必須針對它們需要的通訊協定和服務允許基本驗證。 下表說明這些通訊協定和服務:

用戶端 通訊協定和服務
較舊的 EWS 用戶端
  • 自動探索
  • EWS
較舊的 ActiveSync 用戶端
  • 自動探索
  • ActiveSync
POP 用戶端
  • POP3
  • 已驗證的 SMTP
IMAP 用戶端
  • IMAP4
  • 已驗證的 SMTP
Outlook 2010
  • 自動探索
  • MAPI over HTTP
  • 離線通訊錄
  • Outlook 無所不在 (RPC over HTTP)
  • Exchange Web 服務 (EWS)

注意事項

封鎖基本驗證會在 Exchange Online 中封鎖應用程式密碼。 如需應用程式密碼的詳細資訊,請參閱 建立應用程式密碼

開始之前有哪些須知?

建立及套用驗證原則

建立及套用驗證原則以在 Exchange Online 中封鎖基本驗證的步驟如下:

  1. 建立驗證原則。

  2. 將驗證原則指派給使用者。

  3. 等候 24 小時讓原則套用到使用者,或強制原則立即套用。

下列幾節將描述這些步驟。

步驟 1:建立驗證原則

若要針對 Exchange Online 中所有可用用戶端通訊協定建立會封鎖基本驗證的原則 (建議的組態),請使用下列語法:

New-AuthenticationPolicy -Name "<Descriptive Name>"

此範例會建立名為「區塊基本驗證」的驗證原則。

New-AuthenticationPolicy -Name "Block Basic Auth"

如需詳細的語法及參數資訊,請參閱 New-AuthenticationPolicy

附註

  • 在您建立原則之後,無法變更原則的名稱 (Name 參數不適用於 Set-AuthenticationPolicy Cmdlet)。

  • 若要在原則中針對特定通訊協定啟用基本驗證,請參閱本主題中的修改驗證原則一節。 相同的通訊協定設定可用於 New-AuthenticationPolicySet-AuthenticationPolicy Cmdlet,且兩個 Cmdlet 針對特定通訊協定啟用基本驗證的步驟相同。

步驟 2:將驗證原則指派給使用者

本節說明您可以用來將驗證原則指派給使用者的方法:

  • 個別使用者帳戶:請使用下列語法:

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

    此範例會將名為 Block Basic Auth 的原則指派給使用者帳戶 laura@contoso.com。

    Set-User -Identity laura@contoso.com -AuthenticationPolicy "Block Basic Auth"
    
  • 依據屬性篩選使用者帳戶:此方法需要使用者帳戶全部共用您可以用來識別使用者的唯一的可篩選屬性 (例如,Title 或 Department)。 語法使用下列命令 (兩個命令識別使用者帳戶,其他命令將原則套用至這些使用者):

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

    此範例會將名為「區塊基本驗證」的原則套用至所有使用者帳戶,其 Title 屬性包含 "Sales Associate" 值。

    $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 公司或學校帳戶) 效果最佳。 此文字檔必須在每一行包含一個使用者帳戶,如下所示:

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

    語法使用下列兩個命令 (一個命令識別使用者帳戶,另一個命令將原則套用至這些使用者):

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

    此範例會將名為「區塊基本驗證」的原則指派給 C:\My Documents\BlockBasicAuth.txt 檔案中指定的使用者帳戶。

    $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 Cmdlet 上的 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>

此範例會傳回與名為「區塊基本驗證」的原則有關的詳細資訊。

Get-AuthenticationPolicy -Identity "Block Basic Auth"

如需詳細的語法及參數資訊,請參閱 Get-AuthenticationPolicy

修改驗證原則

根據預設,當您建立新的驗證原則但是未指定任何通訊協定時,基本驗證是針對 Exchange Online 中的所有用戶端通訊協定進行封鎖。 換句話說, allowBasicAuth* 參數的預設值 (參數) False 適用於所有通訊協定。

  • 若要針對已停用的特定通訊協定啟用基本驗證,請指定沒有值的參數。

  • 若要針對已啟用的特定通訊協定停用基本驗證,您只能使用 :$false 值。

您可以使用 Get-AuthenticationPolicy Cmdlet 來查看原則中 AllowBasicAuth* 參數的目前狀態。

此範例會在名為「區塊基本驗證」的現有驗證原則中,針對 POP3 通訊協定啟用基本驗證,針對 IMAP4 通訊協定停用基本驗證。

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

如需詳細的語法及參數資訊,請參閱 Set-AuthenticationPolicy

設定預設驗證原則

預設驗證原則會指派給尚未獲指派特定原則的所有使用者。 請注意,指派給使用者的驗證原則優先於默認原則。 若要針對組織設定預設驗證原則,請使用下列語法:

Set-OrganizationConfig -DefaultAuthenticationPolicy <PolicyIdentity>

此範例將名為「區塊基本驗證」的驗證原則設定為預設原則。

Set-OrganizationConfig -DefaultAuthenticationPolicy "Block Basic Auth"

注意事項

若要移除預設驗證原則指定,請針對 DefaultAuthenticationPolicy 參數使用 $null 值。

使用下列範例來確認已設定預設驗證原則。

Get-OrganizationConfig | Format-Table DefaultAuthenticationPolicy

移除驗證原則

若要移除現有的驗證原則,請使用下列語法:

Remove-AuthenticationPolicy -Identity <PolicyIdentity>

此範例會移除名為「測試驗證原則」的原則。

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中,移至 [設定>組織設定新式>驗證]。 在出現的新 式驗證飛出視窗 中,您可以識別不再需要基本身份驗證的通訊協定。

在幕後,這些設定會使用驗證原則。 如果驗證原則是在過去建立的,修改這些選取專案中的任何一個將會自動建立第一個新的驗證原則。 此原則只能透過PowerShell顯示。 對於可能已經在使用驗證原則的進階客戶,Microsoft 365 系統管理中心 中的變更將會修改其現有的默認原則。 查看 Microsoft Entra 登入記錄,以查看用戶端在進行任何變更之前所使用的通訊協定。

關閉 Microsoft 365 系統管理中心 中的基本身份驗證不會關閉下列舊版服務:

  • AllowBasicAuthOutlookService
  • AllowBasicAuthReportingWebServices

您只能在 powerShell Exchange Online 關閉這些設定。

  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 使用者帳戶

這個方法會使用一個特定屬性作為內部部署 Active Directory 群組成員 (將會與 Exchange Online 進行同步處理) 的篩選條件。 這個方法可讓您停用特定群組的舊版通訊協定,而不會影響整個組織。

在此範例中,我們將使用 Department 屬性,因為它是根據用戶的部門和角色來識別使用者的通用屬性。 若要查看所有 Active Directory 使用者擴充屬性,請移至 Active Directory:Get-ADUser 預設和擴充屬性

步驟 1:尋找 Active Directory 用戶並設定 Active Directory 用戶屬性

取得 Active Directory 群組的成員

這些步驟需要 Windows PowerShell 的 Active Directory 模組。 若要在您的電腦上安裝這個模組,您必須下載及安裝 遠端伺服器管理工具 (RSAT)

在 Active Directory PowerShell 中執行下列命令,以傳回 Active Directory 中的所有群組:

Get-ADGroup -Filter * | select -Property Name

取得群組清單之後,您可以查詢哪些使用者屬於這些群組,並且根據他們的任何屬性建立清單。 我們建議您使用 objectGuid 屬性,因為值對於每個使用者都是獨一無二的。

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

此範例會針對名為「開發人員」的群組成員,傳回 objectGuid 屬性值。

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

設定可篩選使用者屬性

在您識別包含使用者的 Active Directory 群組之後,必須設定將會與 Exchange Online 進行同步處理的屬性值,以篩選使用者 (以及最終停用他們的基本驗證)。

在 Active Directory PowerShell 中使用下列語法,為您在上一個步驟中識別的群組成員設定屬性值。 第一個命令會根據群組成員的 objectGuid 屬性值,識別群組成員。 第二個命令會將 Department 屬性值指派給群組成員。

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

本範例針對屬於名為「開發人員」群組的使用者,將 Department 屬性設為值 "Developer"。

$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 語法使用下列命令 (兩個命令識別使用者帳戶,其他命令將原則套用至這些使用者):

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

此範例會將名為「區塊基本驗證」的原則套用至所有已同步處理使用者帳戶,其 Department 屬性包含 "Developer" 值。

$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 群組的所有成員。

此範例會建立名為「行銷原則」的新驗證原則,該原則會針對名為「行銷部門」Active Directory 群組的成員,停用 ActiveSync、POP3、已驗證的 SMTP 和 IMAP4 用戶端的基本驗證。

注意事項

Active Directory PowerShell 中已知的限制,會防止 Get-AdGroupMember Cmdlet 傳回超過 5000 筆結果。 因此,下列範例僅適用於具有少於 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"}