[玩转系统] 使用 PowerShell 为所有用户设置默认日历权限
作者:精品下载站 日期:2024-12-14 22:33:25 浏览:17 分类:玩电脑
使用 PowerShell 为所有用户设置默认日历权限
Exchange Online 中的默认日历共享权限设置为 AvailabilityOnly。如果你想改变这一点怎么办?可以一一更改用户的默认日历权限,但这需要时间。另一种方法是使用 PowerShell 脚本为所有用户设置默认日历权限。让我们看看如何。
默认日历权限
许多公司希望将默认日历设置为 LimitedDetails,而不是默认的 AvailabilityOnly。这是因为您会在同事的日历项目中看到更多信息。
获得AvailabilityOnly许可后的外观:
获得LimitedDetails许可后的外观:
在上一篇文章中,我们了解了如何使用 PowerShell 管理 Office 365 中的日历权限。请阅读并熟悉这些命令。
如果您想为所有用户的日历设置默认值怎么办?您将为所有用户一一运行 Set-MailboxFolderPermission 命令吗?这将需要一些时间,也许您会忘记一个用户。让我们看看下一步如何执行该工作的 PowerShell 脚本。
准备设置默认日历权限 PowerShell 脚本
在(C:)驱动器上创建两个文件夹:
温度
脚本
下载 Set-DefCalPermissions.ps1 脚本并将其放置在 C:\scripts 文件夹中。该脚本会将记录日志放置在 C:\temp 文件夹中。
确保文件未被阻止,以防止运行脚本时出现错误。请阅读文章运行 PowerShell 脚本时出现未数字签名错误来了解更多信息。
另一种选择是将以下代码复制并粘贴到记事本中。将其命名为 Set-DefCalPermissions.ps1 并将其放置在 C:\scripts 文件夹中。
<#
.SYNOPSIS
Set-DefCalPermissions.ps1
.DESCRIPTION
Set default calendar permissions for all user mailboxes including exception for users.
The script works for:
-Exchange On-Premises (Run Exchange Management Shell)
-Exchange Online (Connect to Exchange Online PowerShell)
.LINK
a-d.site/set-default-calendar-permissions-for-all-users-powershell
.NOTES
Written by: ALI TAJRAN
Website: a-d.site
LinkedIn: linkedin.com/in/a-d
.CHANGELOG
V1.00, 02/28/2021 - Initial version
V1.10, 03/29/2023 - Changed Exceptions to look for UserPrincipalName
#>
# Start transcript
Start-Transcript -Path "C:\temp\Set-DefCalPermissions.log" -Append
# Set scope to entire forest. Cmdlet only available for Exchange on-premises.
#Set-ADServerSettings -ViewEntireForest $true
# Get all user mailboxes
$Users = Get-Mailbox -ResultSize Unlimited -RecipientTypeDetails UserMailbox
# Users exception (add the UserPrincipalName)
$Exception = @("[email protected]", "[email protected]")
# Permissions
$Permission = "LimitedDetails"
# Calendar name languages
$FolderCalendars = @("Agenda", "Calendar", "Calendrier", "Kalender", "日历")
# Loop through each user
foreach ($User in $Users) {
# Get calendar in every user mailbox
$Calendars = (Get-MailboxFolderStatistics $User.UserPrincipalName -FolderScope Calendar)
# Leave permissions if user is exception
if ($Exception -Contains ($User.UserPrincipalName)) {
Write-Host "$User is an exception, don't touch permissions" -ForegroundColor Red
}
else {
# Loop through each user calendar
foreach ($Calendar in $Calendars) {
$CalendarName = $Calendar.Name
# Check if calendar exist
if ($FolderCalendars -Contains $CalendarName) {
$Cal = "$($User.UserPrincipalName):$CalendarName"
$CurrentMailFolderPermission = Get-MailboxFolderPermission -Identity $Cal -User Default
# Set calendar permission / Remove -WhatIf parameter after testing
Set-MailboxFolderPermission -Identity $Cal -User Default -AccessRights $Permission -WarningAction:SilentlyContinue -WhatIf
# Write output
if ($CurrentMailFolderPermission.AccessRights -eq "$Permission") {
Write-Host $User.DisplayName already has the permission $CurrentMailFolderPermission.AccessRights -ForegroundColor Yellow
}
else {
Write-Host $User.DisplayName added permissions $Permission -ForegroundColor Green
}
}
}
}
}
Stop-Transcript
PowerShell 脚本将添加一些内容,帮助您满足组织的一些要求:
-
排除您不希望脚本运行的用户。将它们添加到第 35 行中。如果您不需要此功能,请注释掉第 35、50、51、52、53 和 77 行。
日历并不总是以英语设置。例如,在荷兰,它被命名为议程。该脚本将检查第 41 行中定义的日历名称。
在第 38 行中更改您要为所有用户设置的权限。
在下一步中,您将运行该脚本并查看其实际效果。
批量设置默认日历权限 PowerShell 脚本
在运行脚本之前,您必须连接正确的工具:
本地 Exchange: 以管理员身份运行 Exchange 命令行管理程序。
Exchange Online (Microsoft 365/Office 365):以管理员身份运行 PowerShell 并连接到 Exchange Online PowerShell。
将目录更改为脚本路径并运行 Set-DefCalPermissions.ps1 PowerShell 脚本。
该脚本将遍历 Exchange Server/Exchange Online 中的所有邮箱。
注意: -WhatIf 参数添加到脚本的第 65 行 中。如果运行该脚本,环境中不会发生任何事情。相反,您会得到一个显示将发生什么的输出。
PS C:\> cd c:\scripts
PS C:\scripts>.\Set-DefCalPermissions.ps1
Transcript started, output file is C:\temp\Set-DefCalPermissions.log
What if: Setting mailbox folder permission "'LimitedDetails'" on "Zoë Roberts:\Calendar" for user "Default".
Zoë Roberts added permissions LimitedDetails
What if: Setting mailbox folder permission "'LimitedDetails'" on "Madeleine Fisher:\Agenda" for user "Default".
Madeleine Fisher added permissions LimitedDetails
Irene Springer is an exception, don't touch permissions
What if: Setting mailbox folder permission "'LimitedDetails'" on "Grace Rees:\Calendar" for user "Default".
Grace Rees added permissions LimitedDetails
What if: Setting mailbox folder permission "'LimitedDetails'" on "Kylie Davidson:\Calendar" for user "Default".
Kylie Davidson added permissions LimitedDetails
Richard Grant is an exception, don't touch permissions
What if: Setting mailbox folder permission "'LimitedDetails'" on "Dylan Piper:\Calendar" for user "Default".
Dylan Piper added permissions LimitedDetails
Transcript stopped, output file is C:\temp\Set-DefCalPermissions.log
从 PowerShell 脚本中删除 -WhatIf 参数,然后重新运行该脚本以设置所有用户的默认日历共享权限。
PS C:\scripts>.\Set-DefCalPermissions.ps1
Transcript started, output file is C:\temp\Set-DefCalPermissions.log
Zoë Roberts added permissions LimitedDetails
Madeleine Fisher added permissions LimitedDetails
Irene Springer is an exception, don't touch permissions
Grace Rees added permissions LimitedDetails
Kylie Davidson added permissions LimitedDetails
Richard Grant is an exception, don't touch permissions
Dylan Piper added permissions LimitedDetails
Transcript stopped, output file is C:\temp\Set-DefCalPermissions.log
验证默认日历权限
输出将显示在 Windows PowerShell 控制台中。不仅如此,它还会在日志中显示输出,因为 PS 脚本中添加了脚本。
转到 C:\temp 文件夹并打开 Set-DefCalPermissions.log 文件。
我希望这可以帮助您更改 Exchange Online 和本地 Exchange Server 中的默认日历权限。
继续阅读:使用基于 Azure 组的许可分配 Office 365 许可证 »
结论
您了解了如何使用 Set-DefCalPermissions.ps1 PowerShell 脚本为所有用户设置默认日历权限。当您需要更改许多用户的默认日历权限时,请自动化该过程。这将节省时间,并且您可以随时检查记录日志中的更改。
您喜欢这篇文章吗?您可能还喜欢如何在 Microsoft 365 中启用外部转发。不要忘记关注我们并分享这篇文章。
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag