管理 Exchange Online 中的地址清單
地址清單是 Exchange Online 中已啟用郵件的收件者物件的集合。 地址清單基於收件者篩選。 如需通訊清單的詳細資訊,請參閱 Exchange Online 中的通訊清單。
如需與管理通訊清單相關的其他管理工作,請參閱 地址清單 Exchange Online 中的程序。
在尋找此主題的 Exchange Server 版本? 請參閱 建立通訊清單。
開始之前有哪些須知?
每項程序的預估完成時間:5 分鐘。
根據預設,[通訊清單] 角色並未指派給 Exchange Online 中的任何角色群組。 若要使用任何需要「通訊清單」角色的指令程式,您需將此角色新增至角色群組。 如需詳細資訊,請參閱 修改角色群組。
您只能使用 Exchange Online PowerShell 來執行本主題中幾乎所有的程式, (除了將收件者從通訊清單中隱藏) 之外的所有專案。 若要連線至 Exchange Online PowerShell,請參閱連線至 Exchange Online PowerShell。
提示
有問題嗎? 在 Exchange 論壇中尋求協助。 請造訪論壇:Exchange Online 或 Exchange Online Protection。
使用 Exchange Online PowerShell 建立地址清單
您建立的地址清單可以有收件者篩選也可以沒有。 如需收件者篩選器的詳細資訊,請參閱 PowerShell Exchange Online 位址清單的收件者篩選。
若要新增地址清單,請使用下列語法:
New-AddressList -Name "<Address List Name>" [-Container <ExistingAddressListPath>] [<Precanned recipient filter | Custom recipient filter>] [-RecipientContainer <OrganizationalUnit>]
這個範例會建立具有預先掃描收件者篩選器的通訊清單:
名稱:東南部辦公室
位置:在根 (“”
\
底下,也稱為 [所有位址 清單) ,因為我們未使用 Container 參數,且預設值為 “”。\
預先掃描的收件者篩選:具有 [州] 或 [省 ] 值為 [GA]、[AL] 或 [LA] 信箱的所有使用者 ([喬治亞]、[喬治亞] 或 [) ]。
New-AddressList -Name "Southeast Offices" -IncludedRecipients MailboxUsers -ConditionalStateorProvince "GA","AL","LA"
這個範例會建立具有自訂收件者篩選器的通訊清單:
名稱:美國北部主管
位置:在名為 北美洲 的現有位址清單底下。
自定義收件者篩選:具有 [ 標題 ] 值包含 [目錄] 或 [管理員] 且 [州或省 ] 值為 [WA]、[OR] 或 [標識符] ([華盛頓州]、[華盛頓州] 或 [Idaho]) 的信箱的所有使用者。
New-AddressList -Name "Northwest Executives" -Container "\North America"-RecipientFilter "(RecipientType -eq 'UserMailbox') -and (Title -like '*Director*' -or Title -like '*Manager*') -and (StateOrProvince -eq 'WA' -or StateOrProvince -eq 'OR' -or StateOrProvince -eq 'ID')"
如需詳細的語法及參數資訊,請參閱 New-AddressList。
此範例會使用 RecipientFilter 參數建立名稱為馬勒勒及華盛頓州使用者的通訊清單,並包含信箱使用者且 StateOrProvince 設定為 Washington
或 Oregon
的收件者。
New-AddressList -Name "Oregon and Washington" -RecipientFilter "((RecipientType -eq 'UserMailbox') -and ((StateOrProvince -eq 'Washington') -or (StateOrProvince -eq 'Oregon')))"
此範例會使用內建條件在 All Rooms 父系容器中建立子系通訊清單 Building 34 Meeting Rooms。
New-AddressList -Name "Building 34 Meeting Rooms" -Container "\All Rooms" -IncludedRecipients Resources -ConditionalCustomAttribute1 "Building 34"
如需詳細的語法及參數資訊,請參閱 New-AddressList。
如何知道這是否正常運作?
若要確認您已成功建立通訊清單,請將 AddressListIdentity> 取代<為位址清單的 ame\n路徑,然後在 Exchange Online Powershell 中執行下列命令來驗證屬性值:
Get-AddressList -Identity "<AddressListIdentity>" | Format-List Name,RecipientFilterType,RecipientFilter,IncludedRecipients,Conditional*
使用 Exchange Online Powershell 來檢視通訊清單的成員
技術上來說,此程式會傳回 所有 收件者 (包括符合地址清單之收件者篩選條件的隱藏收件者) 。 位址清單中實際顯示的收件者具有 HiddenFromAddressListsEnabled 屬性值 False
。
若要檢視通訊清單的成員,請使用下列語法:
$<VariableName> = Get-AddressList -Identity <AddressListIdentity>; Get-Recipient -ResultSize unlimited -RecipientPreviewFilter $<VariableName>.RecipientFilter | select Name,PrimarySmtpAddress,HiddenFromAddressListsEnabled
此範例會傳回名為「東南部辦公室」的通訊清單成員。
$AL = Get-AddressList -Identity "Southeast Offices"; Get-Recipient -ResultSize unlimited -RecipientPreviewFilter $AL.RecipientFilter | select Name,PrimarySmtpAddress,HiddenFromAddressListsEnabled
本範例會將結果匯出至檔案 C:\My Documents\Southeast Office Export.csv。
$AL = Get-AddressList -Identity "Southeast Offices"; Get-Recipient -ResultSize unlimited -RecipientPreviewFilter $AL.RecipientFilter | select Name,PrimarySmtpAddress,HiddenFromAddressListsEnabled | Export-Csv -NoTypeInformation -Path "C:\My Documents\Southeast Offices Export.csv"
使用 Exchange Online PowerShell 更新通訊清單
Exchange Online PowerShell 中沒有可用的 Update-AddressList Cmdlet (或 Update-GlobalAddressList)。 如果應該顯示通訊清單的收件者沒有,您必須將這些使用者的必要屬性值變更為暫存值,然後再變更回位址清單所需的值。 您可以在 Exchange 系統管理中心 (EAC) 或 Exchange Online PowerShell 中更新使用者屬性值,但是在 PowerShell 中執行大量作業會更快。
例如,假設名為「馬勒勒及華盛頓州使用者」的通訊清單使用篩選 "((RecipientType -eq 'UserMailbox') -and ((StateOrProvince -eq 'Washington') -or (StateOrProvince -eq 'Oregon')))"
,但位址清單並未包含已正確設定 StateOrProvince 屬性值的每個人。 若要更新位址清單,請執行下列步驟:
使用來自地址清單的查詢來尋找應列於地址清單中的所有使用者。 例如:
$Before = Get-User -Filter "((RecipientType -eq 'UserMailbox') -and ((StateOrProvince -eq 'Oregon') -or (StateOrProvince -eq 'Washington')))" -ResultSize Unlimited
將必要的屬性變更為暫時值。 例如,將 StateOrProvince 值從
Oregon
變更為OR
,並將Washington
變更為WA
:$Before | where {$_.StateOrProvince -eq 'Oregon'} | foreach {Set-User $_.Identity -StateOrProvince OR}
$Before | where {$_.StateOrProvince -eq 'Washington'} | foreach {Set-User $_.Identity -StateOrProvince WA}
使用暫時屬性值再次尋找這些相同的使用者。 例如:
$After = Get-User -Filter "((RecipientType -eq 'UserMailbox') -and ((StateOrProvince -eq 'OR') -or (StateOrProvince -eq 'WA')))" -ResultSize Unlimited
將暫時值變更回所需的值。 例如,將 StateOrProvince 值從
OR
變更為Oregon
,並將WA
變更為Washington
:$After | where {$_.StateOrProvince -eq 'OR'} | foreach {Set-User $_.Identity -StateOrProvince Oregon}
$After | where {$_.StateOrProvince -eq 'WA'} | foreach {Set-User $_.Identity -StateOrProvince Washington}
注意:
標題、部門和地址屬性需要 Get-User 和 Set-User Cmdlet。 CustomAttribute1 到 CustomAttribute15 的屬性需要 Get-Mailbox 和 Set-Mailbox Cmdlet。 如需哪些 Cmdlet 可用屬性的詳細資訊,請參閱下列主題:
如果只有少數使用者未出現在地址清單中,您可以修改每個使用者所需的屬性值。 例如:
設定使用者的暫時屬性值:
Set-User -Identity <UserIdentity> -StateOrProvince WA
將暫時值變更回所需的值:
Set-User -Identity <Identity> -StateOrProvince Washington
如何知道這是否正常運作?
若要確認您已成功更新通訊清單,請將 AddressListIdentity> 取代<為位址清單的名稱,然後在 Exchange Online PowerShell 中執行下列命令來驗證 RecipientFilterApplied 屬性值:
Get-AddressList -Identity <AddressListIdentity> | Format-Table Name,RecipientFilterApplied -Auto
使用 Exchange Online PowerShell 修改地址清單
基本設定與您建立地址清單時可用的設定相同。 如需詳細資訊,請參閱本主題中的使用 Exchange Online PowerShell 建立通訊清單一節。
若要修改現有的地址清單,請使用下列語法:
Set-AddressList -Identity <AddressListIdentity> [-Name <Name>] [<Precanned recipient filter | Custom recipient filter>] [-RecipientContainer <OrganizationalUnit>]
當您修改 條件參數 值時,可以使用下列語法來新增或移除值,而不會影響其他現有的值: @{Add="<Value1>","<Value2>"...; Remove="<Value1>","<Value2>"...}
。
本範例會將州 或省 值 TX (德州) 新增至預先掃描的收件者篩選器,以修改名為[東南部辦公室] 的現有地址清單。
Set-AddressList -Identity "Southeast Offices" -ConditionalStateOrProvince @{Add="TX"}
如需詳細的語法和參數資訊,請參閱 Set-AddressList。
如何知道這是否正常運作?
若要確認您已成功修改通訊清單,請將 AddressListIdentity> 取代<為位址清單的 ame\n路徑,然後在 Exchange Online Powershell 中執行下列命令來驗證屬性值:
Get-AddressList -Identity "<AddressListIdentity>" | Format-List Name,RecipientFilterType,RecipientFilter,IncludedRecipients,Conditional*
使用 Exchange Online PowerShell 刪除地址清單
若要移除地址清單,請使用下列語法:
Remove-AddressList -Identity "<AddressListName>"
此範例會移除通訊清單 Sales Department,其中不包含子通訊清單。
Remove-AddressList -Identity "Sales Department"
如需詳細的語法及參數資訊,請參閱 Remove-AddressList。
如何知道這是否正常運作?
若要確認您已成功移除通訊清單,請在 Exchange Online Powershell 中執行下列命令,以確認位址清單未列出:
Get-AddressList
隱藏地址清單中的收件者
從通訊清單中隱藏收件者並不會防止收件者接收電子郵件訊息;它會防止使用者在通訊清單中尋找收件者。 收件者會隱藏「所有」地址清單和 CAL (實際上,它們是所有通訊清單中收件者篩選的例外)。 如果只想在某些地址清單中包括某些收件者,您需要調整地址清單中收件者篩選,以包括或排除收件者。
從通訊清單中隱藏收件者也可防止透過通訊簿搜尋找到使用者。 例如, (自動語音應答服務語音辨識) [/microsoftteams/dial-voice-reference] 將無法尋找並重新導向至此收件者的通話。
使用新的EAC來隱藏位址清單中的收件者
若要開啟新的EAC,請參閱 Exchange Online 中的Exchange系統管理中心。
您無法使用新的 EAC 從通訊清單中隱藏Microsoft 365 群組。
在新的EAC中,根據收件者類型移至下列其中一個位置:
收件者>信箱:使用者信箱。
收件者>群組:通訊群組、擁有郵件功能的安全組和動態通訊群組。
收件者>資源:會議室和設備信箱。
收件者>連絡人:郵件使用者和郵件聯繫人。
公用資料夾>公用資料夾:啟用郵件功能的公用資料夾。
選取您要從通訊清單中隱藏的收件者。
收件者屬性視窗會開啟。 接下來的操作取決於收件者的類型:
信箱:在 [ 帳戶] 索引 標籤上,選取 [ 管理聯繫人資訊]。 然後選取 [從全域通訊列表隱藏]。
群組:在 [設定] 索引標籤上,選取 [從全域通訊列表隱藏此群組]。
資源:按兩下鉛筆,然後選 取 [在 GAL) (位址清單中 隱藏。
聯繫人:從 全域通訊清單中選取 [隱藏此專案]。
公用資料夾:在 [一般郵件屬性] 索引標籤,選取 [在 Exchange 地址清單中隱藏]。
完成後,點擊 [儲存]。
使用 Exchange Online PowerShell 從通訊清單中隱藏收件者
若要從通訊清單中隱藏收件者,請使用下列語法:
Set-<RecipientType> -Identity <RecipientIdentity> -HiddenFromAddressListsEnabled $true
<RecipientType> 是下列其中一個值:
DistributionGroup
DynamicDistributionGroup
Mailbox
MailContact
MailPublicFolder
MailUser
UnifiedGroup
本範例會從通訊清單中隱藏名為內部事務部的通訊群組。
Set-DistributionGroup -Identity "Internal Affairs" -HiddenFromAddressListsEnabled $true
本範例會隱藏位址清單中的信箱 michelle@contoso.com 。
Set-Mailbox -Identity michelle@contoso.com -HiddenFromAddressListsEnabled $true
注意:若要讓收件者再次顯示在通訊清單中,請使用 HiddenFromAddressListsEnabled 參數的值$false
。
如何知道這是否正常運作?
您可以使用下列任何程式,確認您已成功從通訊清單中隱藏收件者:
在 EAC 中,選取收件者,按兩下 [ 編輯 () 並確認已選取 [隱藏位址清單] 設定。
在 Exchange Online PowerShell 中,執行下列命令並確認收件者已列出:
Get-Recipient -ResultSize unlimited -Filter 'HiddenFromAddressListsEnabled -eq $true'
在 Outlook 或 Outlook 網頁版 (中開啟 GAL,先前稱為 Outlook Web App) ,並確認收件者不可見。