Outlook日历查看会议室不显示具体信息

问题描述

我们启用新域名邮箱后,添加会议室共享日历发现无法查看其他会议室的预定情况

新建会议中《显示为》默认为“忙”

解决方案概述

通过 PowerShell 设置会议室日历的权限为“开放”状态,让所有用户都能够查看会议室的详细信息(包括会议时间、与会人员等),避免每次人员变动时都需要手动调整权限。

权限控制有两个方向,控制用户对每个会议室共享日历的权限,能做到更精细的控制,但是实际业务中不太可能采用这种方式,新入职用户难道要每次设置权限吗?如果需要这部分内容,详尽本文第6部分,相关Powershell命令

所以大部分是控制会议室共享日历的权限,默认会议室共享日历是对所有用户开放的,即所有人添加了日历在Outlook中就可以看到会议室占用的详情。

具体操作步骤

1. PowerShell 配置

为了执行这些命令,你需要配置 PowerShell 环境并确保能连接到 Exchange Online。

(1) 安装必要模块

首先,安装 ExchangeOnlineManagement 模块:

1
Install-Module -Name ExchangeOnlineManagement

如果遇到如图所示问题,提示没有NuGet存储库

可以执行以下命令来修复:

1
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]:Tls12;

上述命令执行后再次安装 ExchangeOnlineManagement 模块

(2) 允许执行脚本

如果 PowerShell 提示无法执行脚本

请运行以下命令允许脚本执行:

1
set-ExecutionPolicy RemoteSigned
然后选择“全部”确认。

(3) 连接到 Exchange Online

使用以下命令连接到 Exchange Online:

1
Connect-ExchangeOnline

2.获取权限的名单处理

Exchange管理员中心导出所有人邮箱信息为CSV,后面将导出的文件称之为user.csv

编辑csv文件,除了邮箱地址其他的列全部删除,确保保留的是Mailbox

3.获取会议室列表

另存为只有会议室Name的csv文件,后面将导出的文件称之为room.csv

1
Get-Mailbox -RecipientTypeDetails RoomMailbox

4. 删除不必要的权限

如果之前已经为某个用户设置了不必要的权限,或者进行了误操作,可以通过以下命令将其删除:

1
remove-MailboxFolderPermission -Identity "会议室邮箱地址:\calendar" -User "用户邮箱地址"
  • 作用:该命令将删除指定用户对指定会议室日历的访问权限。

删除某个会议室批量用户权限

1
Import-Csv C:\user.csv | foreach {Remove-MailboxFolderPermission -Identity "会议室邮箱地址:\Calendar" -User $_.Mailbox -Confirm:$false}
  • 作用:该命令将删除批量用户对会议室日历的访问权限。

删除所有会议室所有用户权限

1
Import-Csv C:\room.csv | ForEach-Object { Import-Csv C:\user.csv | ForEach-Object { Remove-MailboxFolderPermission -Identity "$($_.RoomEmail):\Calendar" -User $_.Mailbox -Confirm:$false } }
  • 作用:该命令将删除批量用户对所有会议室日历的访问权限。

5.开启会议室权限

开启会议室权限,对所有的会议室开启一次即可

1
Add-MailboxFolderPermission -Identity "会议室邮箱地址:\Calendar" -User Default -AccessRights Reviewer 
  • 作用:开启一个会议室
1
Import-Csv C:\rooms.csv | foreach {Add-MailboxFolderPermission -Identity "$($_.RoomName):\Calendar" -User Default -AccessRights Reviewer} 
  • 作用:开启所有的会议室

相当于如图所示开启共享日历的权限,将日历中的权限开启为,可查看全部详细信息(会议室,时间,会议召开人员)

6.相关Powershell命令

6.1.删除

为某个会议室删除某个用户的权限

1
remove-MailboxFolderPermission -Identity  会议室邮箱地址:\calendar -User xxx@xxx

6.2.添加

为某个会议室增加某个用户的权限

1
Add-MailboxFolderPermission -Identity 会议室邮箱地址::\calendar -User xxx@xxx -AccessRights LimitedDetails 

6.3.查看powershell

查看某个会议室中所有有权限的用户

1
get-MailboxFolderPermission -Identity xxx@xxx:\calendar |fl user(查看具体的用户名)

6.4.添加

通过csv批量添加用户

1
Import-Csv C:\user.csv | foreach {add-MailboxFolderPermission -Identity 会议室邮箱地址:\calendar -user $_.Mailbox -AccessRights LimitedDetails } 

6.5.增加新用户

6.5.1.添加

为xxx@xxx设置所有会议室的权限

1
2
3
Import-Csv C:\room.csv | foreach {Add-MailboxFolderPermission -Identity $_.User -user xxx@xxx

-AccessRights LimitedDetails }
6.5.2删除

为xxx@xxx移除所有会议室的权限

1
Import-Csv C:\room.csv | foreach {remove-MailboxFolderPermission -Identity $_.User -user xxx@xxx  -Confirm:$false}

-Confirm:$false可删除,删除之后对每个会议室中删除都需要进行确认

总结与优势

通过将会议室的日历权限设置为“开放”状态,你可以轻松地让所有需要查看会议室日历的用户访问,而无需在人员变动时每次都调整权限。这样的方法更加高效,避免了权限管理的复杂性。

  • 简化权限管理:不需要在人员变动时频繁修改权限。
  • 高效查看信息:所有有权限的用户都可以查看会议室的日历和详细信息。
  • 批量操作:可以通过 CSV 文件批量设置权限,节省时间和精力。

这种方式特别适用于团队较大或经常变动的环境,可以大大简化权限管理工作。