在上一篇文章發佈後公司內部同事也注意到了會議室列表的問題,發現一個頗有意思的問題,直接搜索會議室名字能搜出來,搜索會議室SIP地址或SMTP地址反而搜索不出來。這個鍋是個人,須要來背一背,效果以下:架構
搜索中文名字,能夠正常顯示ide
搜索SIP地址或SMTP地址,提示無任何匹配項,請與你的IT管理員聯繫以擴大搜索範圍:測試
再來看下這個會議室在Office365中是存在的,也有許可spa
公司技術羣裏都要炸鍋了,當我告訴他們是個人鍋隔着屏幕都能感受到各位大大們的無語哈哈哈哈。設計
那麼爲何會出現這種狀況呢?這實際上是我本身的鍋,該背仍是要背哈哈哈~3d
我很久以前測試了Teams的信息障礙(我又稱之爲內部防火牆,能夠查看我以前的文章Microsoft Teams快速上手系列-08Teams中的內部防火牆),在這個功能中有一個必要條件就是啓用團隊範圍目錄搜索,以前測試打開忘記關閉這個功能,若是但願快速搜索到全部用戶只須要關閉這個功能便可。blog
如何關閉?進入Teams管理中心打開「組織範圍的設置」選擇「Teams設置」,在最下方關閉使用Exchange通信錄策略進行目錄搜索而後點擊保存便可(能夠看到我這裏仍是打開狀態)get
等待一會便可搜索出來用戶it
固然這是一種比較粗暴的解決方法,若是關閉這個功能,那麼Teams的信息障礙將會失效,全部最佳實踐是將帳號放到Exchange通信錄中去,很顯然我搜索的這個帳號是沒有在咱們Exchange Online通信錄策略中的,由於咱們的Exchange Online中連通信錄策略都沒有建立(以前的測試是額外申請的E5試用版來作的信息障礙Demo):class
那麼最佳實踐是什麼呢?
依然是開啓使用Exchange通信錄策略進行目錄搜索,可是就須要對通信錄策略進行維護。通信錄策略(AddressBookPolicy)又稱之爲ABP,有4部分組成:
Ø 自定義GAL;
Ø 自定義脫機通信簿(OAB);
Ø 一個或多個自定義地址列表;
Ø 自定義Room列表;
若是不使用ABP,則Exchange Online郵箱使用默認的GAL,OAB和地址列表,這樣就解釋了爲何在Teams中使用SMTP地址沒法進行搜索用戶。
那麼就開始來作個ABP吧,在配置以前須要有Address Lists角色權限,若是沒有此權限,連運行Get-GlobalAddressList命令都會報錯,以下
去到Exchange Online管理中心給個人帳號加上Address Lists角色權限
保存權限後等待幾分鐘生效,而後再次經過PowerShell遠程鏈接到Exchange Online,獲取當前全部Address List
接下來使用命令新建一個ABP,以下:
New-AddressBookPolicy -Name "AllList" -AddressLists "\All Users" -Roomlist "\All Rooms" -OfflineAddressBook "\Default Offline Address Book" -GlobalAddressList "\Default Global Address List"
其中OAB和GAL,RL均可以本身定義。這樣作有什麼意義呢?仍是針對大型企業多站點很實用,設想下一個跨國大型企業全球幾十萬員工,若是讓全部的員工都下載默認的OAB或使用GAL那麼Outlook程序可能會直接卡死,因此須要有ABP這樣的策略爲不一樣的站點用戶建立不一樣的策略,讓當前站點用戶下載當前站點的OAB或使用當前站點的GAL。至於怎麼去建立OAB和GAL就不在這裏展開去分享了,有興趣的能夠看Docs(請忽略咱們生產環境全是用的默認的,畢竟都在中國境內人數規模還沒上千)
ABP建立過程以下:
建立好ABP後使用Set-Mailbox命令給對應的用戶分配ABP策略。這裏有兩個帳號一個有ABP一個沒有
接下來再去啓用基於Exchange通信錄策略的搜索,並等待幾分鐘是設置生效(我這裏因爲下午修復沒法搜索其餘人的問題,臨時採用了最粗暴的作法直接關閉這個搜索)
等待一段時間後進行驗證:
首先使用個人帳號登陸Teams進行搜索,輸入SMTP地址後顯示出來匹配的用戶,徹底能夠正常搜索
接下來使用沒有分配ABP的帳號登陸進行Teams搜索,提示沒有任何匹配項。
因此明白整個原理後再加之有必定微軟基礎架構相關經驗能力而後去作Teams的相關規劃和設計,這樣才能全盤掌握Teams!
總結:有時候魚與熊掌能夠兼得,不必定使用最粗暴的方法!