原本在公司內部有佈署Exchange Server的管理者,為了讓使用者能夠依據分類(部門)尋找通訊錄中的信箱使用者,通常都會ECP中透過通訊清單去設定,但許多管理者在移轉至Exchange Online後,發現無法使用網頁介面去設定,是的!目前來說,只能使用PowerShell設定,此篇就是教您如何透過PowerShell建立通訊清單。
前置作業
可以使用的Windows版本:
-
Windows 10
- Windows 8 或 Windows 8.1
- Windows Server 2012 或 Windows Server 2012 R2
- Windows 7 Service Pack 1 (SP1)
- Windows Server 2008 R2 SP1
您需要安裝 Microsoft.NET Framework 4.5 或更新版本,以及 Windows Management Framework 3.0 或 Windows Management Framework 4.0。
Tips
Windows PowerShell 必須經過設定才能執行指令碼,請提高權限Windows PowerShell 視窗 (藉由選取 [以系統管理員身分執行] ,開啟Windows PowerShell 視窗並執行下列命令:
Set-ExecutionPolicy RemoteSigned
此命令只需在電腦上設定此設定一次,而不用在每次連線時進行設定。
連接到 Exchange Online
步驟1.
開啟Exchange Online系統管理中心,至權限分類中,選擇Oranization Management,並在角色欄位中新增Address Lists。
步驟2.
您的本機電腦上開啟 Windows PowerShell,並執行下列命令。
$UserCredential = Get-Credential
[Windows PowerShell 認證要求] 對話方塊中,輸入您的 Office 365 全域管理員使用者名稱和密碼,然後按一下 [確定]。
步驟3.
執行下列命令:
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection
步驟4.
Import-PSSession $Session
建立Exchange Online Address Lists
建置建議
- 情境1信箱使用者未存在:先建立通訊清單,在建立信箱使用者。
- 情境2信箱使用者已存在:建立通訊清單,更新使用者資料。例:通訊清單已部門篩選人員,使用者部門已有相對應值,必須先將其更改,再改回原本相對應值,聯絡人才會在相對應分類出現。
新增Address List
根項目
此範例命令會建立通訊清單DEMO_LIST,此通訊清單包含屬於信箱使用者並且將部門過濾為5.5.Project3的收件者。
過濾相關屬性請參考https://technet.microsoft.com/zh-tw/library/aa998847(v=exchg.160).aspx
New-AddressList -Name DEMO_LIST -RecipientFilter {( Department -eq '5.5.Project3') -and (RecipientType -eq 'UserMailbox')}
成功後PowerShell畫面如下:
子項目
此範例命令會建立通訊清單Child_DEMO_LIST,為DEMO_LIST的子項目,此通訊清單包含屬於信箱使用者並且將部門過濾為5.5.Project3的收件者。
New-AddressList -Name CHILD_DEMO_LIST -Container \DEMO_LIST -RecipientFilter {( Department -eq '5.5.Project3') -and (RecipientType -eq 'UserMailbox')}
成功後PowerShell畫面如下:
以上建立完成後會再Outlook與線上版發現DEMO_LIST與其子項目CHILD_DEMO_LIST,如下圖所示:
查詢Address List
此範例命令會查詢通訊清單。
Get-addresslist
成功後PowerShell畫面如下:
更改Address List名稱
此範例命令會更改現有通訊清單的名稱,將DEMO_LIST改成CHANGE_DEMO_LIST。
Set-AddressList -Identity "DEMO_LIST" -Name CHANGE_DEMO_LIST -DisplayName CHANGE_DEMO_LIST
成功後使用查詢查詢Address List,PowerShell畫面如下:
更改Address List過濾屬性
此範例命令更改現有通訊清單的過濾屬性,將CHANGE_DEMO_LIST過濾的DisplayName改成test。
Set-AddressList -Identity " CHANGE_DEMO_LIST " -RecipientFilter {(DisplayName -eq 'test') -and (RecipientType -eq 'UserMailbox')}
成功後使用查詢查詢Address List,PowerShell畫面如下:
刪除Address List
此範例命令會刪除現有通訊清單,將CHILD_DEMO_LIST刪除。
Remove-AddressList -Identity "CHILD_DEMO_LIST"
接下來會出現下方視窗,選擇Yes to All
成功後使用查詢查詢Address List,PowerShell畫面如下:
確認無誤後請在powershell執行Remove-PSSession $Session。
如有文章內有任何問題歡迎指教。
參考連結
https://technet.microsoft.com/zh-tw/library/jj984289(v=exchg.160).aspx
https://technet.microsoft.com/zh-tw/library/mt670894(v=exchg.160).aspx