Outlook日历查看会议室不显示具体信息
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 | Import-Csv C:\room.csv | foreach {Add-MailboxFolderPermission -Identity $_.User -user xxx@xxx |
6.5.2删除
为xxx@xxx移除所有会议室的权限
1 | Import-Csv C:\room.csv | foreach {remove-MailboxFolderPermission -Identity $_.User -user xxx@xxx -Confirm:$false} |
-Confirm:$false可删除,删除之后对每个会议室中删除都需要进行确认
总结与优势
通过将会议室的日历权限设置为“开放”状态,你可以轻松地让所有需要查看会议室日历的用户访问,而无需在人员变动时每次都调整权限。这样的方法更加高效,避免了权限管理的复杂性。
- 简化权限管理:不需要在人员变动时频繁修改权限。
- 高效查看信息:所有有权限的用户都可以查看会议室的日历和详细信息。
- 批量操作:可以通过 CSV 文件批量设置权限,节省时间和精力。
这种方式特别适用于团队较大或经常变动的环境,可以大大简化权限管理工作。