久違輪到我來分享囉,不論你是專案、團隊或部門的管理者或成員,一定都會有需要確認彼此行事曆的時候,一般做法有兩個
- 將個人行事曆共享檢視權限給彼此,讓大家能掌握彼此的時程。
缺點 :如果團隊成員一多,整個行事曆就會密密麻麻... - 第二種是建立一個共用信箱(假設叫做一隅行事曆),將共用信箱的行事曆作為共用行事曆。
以M365為例,會先建立一個共用信箱(Shared mailbox),再分享權限(設為可以編輯)給團隊其他人,如此公開的行程都可以直接透過共用信箱的行事曆來建立。
缺點 :客戶看到的發起人都會是一隅行事曆,可能引起不必要的誤會。
由於近期越來越多專案會議安排,同仁漸漸開始反應使用上的不便,加上工作效率的改善是我們今年的其中一個大目標!
所以我花了兩天的時間嘗試,終於研究出一個適合我們的方式,分享給大家參考!
我們的目標如下:
- 有一個可以讓團隊成員設定公開行程的公用行事曆
- 成員行事曆可以區分公開或私有行程,團隊成員可查看所有公開行程(公用行事曆),不需互相分享權限
- 行事曆畫面盡量簡潔,只顯示公開行程,不顯示成員私人的行程
- 除了會議建立者,其他人不需要特別進行任何設定
- 會議的發起人即為會議建立者
- 所有設定都透過MIS後台完成,並且不需重複設定
方法的核心其實就是下列兩點:
- 改為使用建立共用資源(Resources),而不是共用信箱(Shared mailbox)。共用資源同樣會有一個 Email Address 也會有行事曆。
- 建立公開行程時先以自己的行事曆建立,再邀請共用資源的行事曆即可,私人行程則不用。
使用共用資源關鍵的原因在於,共用信箱(Shared mailbox)無法自動接受活動或會議的邀請,必須要有個管理員手動接受邀請,活動或會議才會出現在共用信箱的行事曆上讓團隊成員都看到,反過來取消會議也一樣。
訣竅知道了,但是實際上執行時還是會遇到一些問題,例如:
- M365 後台介面有夠複雜,不熟悉的人員很難準確知道在哪邊設定
- 共用資源雖然可以自動接受邀請,但是預設接受後的行程會沒有主旨(因為資源行事曆原意只是標示該資源在某時段被佔用,不需要特定主旨)
- 預設不能接受時間衝突的活動
- 自動接受取消是預設功能,但是取消後並不會刪除行程,而是將該行程標示為已取消
前情提要夠多了,下面直接展示設定流程(包含M365後台、PowerShell指令)
1. 首先使用管理員權限登入 M365 的 Exchange admin center。
該頁面可以進行Mailboxes、Resources等管理(微軟官方介紹)
2.新增共用資源
點選 Recipients -> Resources -> Add a room resource,建立一個Type為Room的資源

相關設定如下,Name、Email address及 General Information按照需求自行填寫,最重要的是Booking options的設定,確認無誤後點選 Create 完成建立。





3. 為共用資源加入權限
建立完成後,點選一下你建立的資源,切換到Delegation頁籤,點擊Read and manage 的Edit,加入可操作的人員權限(如果成員一律都透過邀請的方式,則不需要加入權限,建議僅加入主管或MIS人員即可)


以上 M365 後台的步驟就完成囉~
再來我們要透過 PowerShell 連線到 Exchange Online 進行一些細節的設定!
4. 安裝 PowerShell(如果是windows可以跳過這個步驟)
開啟終端機,透過 brew 安裝 PowerShell
brew install --cask powershell
安裝完成後,輸入pwsh進入PowerShell介面
pwsh
進入PowerShell後,會出現如下畫面

5. 安裝 ExchangeOnlineManagement 模組
要透過PowerShell進行Exchange Online設定,必須要先安裝ExchangeOnlineManagement模組
Install-Module ExchangeOnlineManagement -Scope CurrentUser
安裝過程中的信任提示,輸入Y即可

6. 連結 Exchange Online
安裝完成後,透過下列指令連結至 Exchange Online
Connect-ExchangeOnline

7. 為指定共用資源進行細部設定
前面提到共用資源的三個問題:沒有主旨、不能接受時間衝突的活動、取消活動不會自動刪除,只要透過下列命令就可以一次設定完成!
Set-CalendarProcessing -Identity [email protected] `
-AutomateProcessing AutoAccept `-AddOrganizerToSubject $false `
-DeleteSubject $false `
-RemindersEnabled $false `
-RemoveCanceledMeetings $true `
-AllowConflicts $true `
-ConflictPercentageAllowed 100 `
-MaximumConflictInstances 100
每個指令的說明如下,詳細也可以參考官方文件的說明
-AutomateProcessing AutoAccept
👉 行事曆自動處理會議邀請
沒有這個,就一定要人工接受,後面所有自動化都不成立。
-AddOrganizerToSubject $false
👉 主旨不加上召集人名稱
避免主旨被改成「會議名稱 – 王小明」。
-DeleteSubject $false
👉 保留原始會議主旨
這個是關鍵,否則主旨會變成「(無主旨)」。
-RemindersEnabled $false
👉 行事曆不產生任何提醒通知
包含彈窗、行動裝置推播、提醒音效。
-RemoveCanceledMeetings $true
👉 會議被取消時,自動從行事曆移除
避免留下「已取消」的殘留事件。
-AllowConflicts $true
👉 允許衝突存在
沒有這個,後面衝突比例設定全部無效。
-ConflictPercentageAllowed 100
👉 衝突比例容忍度
預設是 0(只要有一點衝突就拒絕)
100 = 全部衝突也照單全收。
-MaximumConflictInstances 100
👉 允許的衝突事件數上限
確保大量重複或多人會議不會被系統阻擋。
8. 其他
以上設定完成後記得先將分享行事曆檢視的權限給團隊成員就可以測試看看囉!
另外ExchangeOnlineManagement還有很多方便的指令,例如查詢信箱的權限、批次設定共用資源允許的權限使用者等等,有興趣的可以看官方文件或是問問AI!
by yiyung