最终实现目的:
创新互联公司拥有一支富有激情的企业网站制作团队,在互联网网站建设行业深耕十载,专业且经验丰富。十载网站优化营销经验,我们已为超过千家中小企业提供了网站设计、网站制作解决方案,定制网站制作,设计满意,售后服务无忧。所有客户皆提供一年免费网站维护!
1、 所有用户都可以再Outlook中查看会议室账号的详细日程安排
2、 为会议室账号添加一个代理人员,只能操作会议室账号的日历,而不能访问其他文件夹
首先还是通过Powershell链接到Exchange Online
然后使用Get-MailboxFolderPermission -Identity user:\“日历”来获取当前日历权限状态,可以看到我的日历是共享出去了的,我的同事是可以查看我的日历信息的
但是对于会议室资源账号,上面的命令就不好使了,必须把日历换成calendar才能执行,这个坑不小,我折腾了半小时
从上面可以看出来这个会议室针对所有用户的默认权限就是AvailabilityOnly意思就是仅查看可用性数据,只能看到这个会议室一天中哪些时间段是已经被安排占用了。
我们的首要目标是让每个用户都能看到会议室的日程安排,所以我用以下命令去配置所有用户都可以访问某一个会议室的日程
Set-MailboxFolderPermission -Identity meetingroomname:\"calendar" -User default -Acce***ights limiteddetails
如果希望这个会议室邮箱可以针对某个组来进行授权可以参考以下命令:
Set-MailboxFolderPermission -Identity meetingroomname:\”Calendar” -User “groupname” -Acce***ights Editor
其中:Acce***ights的权限也可以做出相应的调整
在设置好了上面的权限后,还要记得对会议室进行日程配置,如不删除主题不删除会议附件正文等,命令如下
Set-CalendarProcessing -Identity meetingroomname -AddOrganizerToSubject $true -DeleteComments $false -DeleteSubject $false
更多资料可以在微软网站查询
https://docs.microsoft.com/en-us/powershell/module/exchange/mailboxes/set-calendarprocessing?view=exchange-ps
然后我使用另外一个普通账号来预约这个会议室
然后从我的outlook日历中添加会议室邮箱
搜索刚刚设置所有用户可查看的会议室
添加进去后就可以看到这个会议室的日程信息了,但是只能看到标题看不到详细信息
更新后去尝试删除这个日历事件
因为没有针对这个会议室给我的账号授权,所以是不能直接删除这个日历事件的
接下来针对这个会议室账号来进行代理授权
Add-MailboxFolderPermission -Identity meetingroomname@ucssi.com:\Calendar -User user@ucssi.com -Acce***ights Editor -SharingPermissionFlags Delegate
只对日历有编辑权限不能访问私有文件夹
具体命令可以参考微软网站
https://docs.microsoft.com/en-us/powershell/module/exchange/mailboxes/add-mailboxfolderpermission?view=exchange-ps
确认权限到位
其中我的账号Acce***ights属性是Editor为编辑权限,默认所有的用户是LimitedDetails权限,意思就是说可以查看主题和位置。其中的Editor包含的权限可以查看上面的微软网站。
此时我再使用另外一个账号去预约这个会议室创建日历事件,该预约的用户自身是可以看到整个日历的详细信息的
此时我的Outlook刷新后也看到了这个事件的详细信息,包括是谁创建的事件,主题内容是什么
然后尝试删除日历事件也成功了,当然也可以手动去修改别人已经预约好了的日程时间或者直接删除
最后再来检查下这个会议室的其他文件夹权限,可以看到包括收件箱在内的其他所有文件夹都没有我这个账号的访问权限,而且其他人的Acce***ights访问权限也都没有。就达到最初的目标了。
如果是只希望读和写的权限,那么在Set-MailboxFolderPermission命令的Acce***ights参数后面就用NonEditingAuthor。如果是新增代理账号要使用Add命令而不是Set命令
可以看到默认所有用户都能查看该会议室的日程信息,但是我这个账号还有读和写的权限
然后我来测试一下删除其他人预约好了的日程,可以看到是没法删除他人已经预约好了的日程
既然有读和写且读已经验证了,那么验证一下写入日历事件