[玩转系统] 使用 PowerShell 管理共享邮箱 |办公室365
作者:精品下载站 日期:2024-12-14 08:38:58 浏览:14 分类:玩电脑
使用 PowerShell 管理共享邮箱 |办公室365
在本文中,您将了解如何管理 PowerShell 命令以在 Office 365 中创建共享邮箱。此外,您还将为这个新的共享邮箱分配不同的权限。我们将向您展示如何将共享邮箱转换为常规邮箱,以及相反。使用 PowerShell 获取 Office 365 中所有共享邮箱的列表。
Microsoft 365 邮箱类型
Microsoft 365 中有四种不同的邮箱类型:
- 用户邮箱
- 共享邮箱
- 客房邮箱
- 设备邮箱
在本文中,我们将介绍如何使用 PowerShell 管理共享邮箱。
连接到 Exchange Online PowerShell
为了能够运行 PowerShell 命令,您需要连接到 Exchange Online PowerShell。
Connect-ExchangeOnline
1. 新建共享邮箱
共享邮箱是一种特殊类型的 Exchange 邮箱。为了通知 Exchange 我们要创建共享邮箱类型,我们使用参数-Shared。
创建新的共享邮箱
PowerShell命令语法:
New-Mailbox -Name "Shared Mailbox Name" -Shared
使用以下 PowerShell 命令示例。
New-Mailbox -Name "Info Box" -Shared
PowerShell 输出显示您创建的新共享邮箱。
PS C:\> New-Mailbox -Name "Info Box" -Shared
Name Alias Database ProhibitSendQuota
---- ----- -------- -----------------
Info Box InfoBox EURPR02DG504-db416 49.5 GB (53,150,2...
了解更多:使用 PowerShell 批量创建共享邮箱 »
使用别名和电子邮件地址创建新的共享邮箱
在这一部分中,我们将向您展示如何创建新的共享邮箱,您可以在其中选择您的别名和电子邮件地址。
PowerShell命令语法:
New-Mailbox -Name "Shared Mailbox Name" -Alias "Alias" -Shared -PrimarySmtpAddress "Email Address"
使用以下 PowerShell 命令示例。
New-Mailbox -Name "Info Box2" -Alias "Info2" -Shared -PrimarySmtpAddress "[email protected]"
PowerShell 输出显示具有不同别名和电子邮件地址的新共享邮箱。
PS C:\> New-Mailbox -Name "Info Box2" -Alias "Info2" -Shared -PrimarySmtpAddress "[email protected]"
Name Alias Database ProhibitSendQuota
---- ----- -------- -----------------
Info Box2 Info2 EURPR02DG187-db101 49.5 GB (53,150,2...
运行这两个命令后,您将在 Microsoft 365 管理中心找到新的共享邮箱。
- 登录 Microsoft 365 管理中心
- 单击用户 > 活跃用户
2. 管理共享邮箱的权限
完全访问权限和自动地图功能
当我们为用户分配对另一个用户邮箱(例如示例中的共享邮箱)的“完全访问”权限时,该邮箱会自动添加到该用户的 Outlook 邮件配置文件中。此功能被描述为AutoMap。
在某些场景下,我们需要禁用AutoMap选项。我们希望为特定用户启用对多个共享邮箱的完全访问权限。尽管如此,我们不希望这些共享邮箱自动添加到特定用户的 Outlook 配置文件中。
在这种情况下,我们可以添加 PowerShell 参数 -AutoMapping ,其值为 $False。
分配共享邮箱 + AutoMap 的完全访问权限
在此步骤中,我们希望为特定用户分配对我们之前创建的共享邮箱具有完全访问权限。
PowerShell命令语法:
Add-MailboxPermission "Shared Mailbox" -User "Mail Recipient" -AccessRights FullAccess -InheritanceType All
使用以下 PowerShell 命令示例。
Add-MailboxPermission "Info Box" -User "Brenda Smith" -AccessRights FullAccess -InheritanceType All
分配共享邮箱的完全访问权限 + 无 AutoMap
使用以下 PowerShell 命令示例。
Add-MailboxPermission "Info Box" -User "Brenda Smith" -AccessRights FullAccess -InheritanceType All -AutoMapping $False
PowerShell 输出显示您已成功向特定用户分配“完全访问”权限。
PS C:\> Add-MailboxPermission "Info Box" -User "Brenda Smith" -AccessRights FullAccess -InheritanceType All -AutoMapping $False
Identity User AccessRights IsInherited Deny
-------- ---- ------------ ----------- ----
Info Box S-1-5-21-70143928... {FullAccess} False False
批量分配共享邮箱的完全访问权限 + 无 AutoMap
使用以下 PowerShell 命令为特定用户分配所有共享邮箱的完全访问权限。
Get-Mailbox -Filter '(RecipientTypeDetails -eq "SharedMailbox")' | Add-MailboxPermission -User "Brenda Smith" -AccessRights FullAccess -InheritanceType All -AutoMapping $False
PowerShell 输出将如下例所示。
PS C:\> Get-Mailbox -Filter '(RecipientTypeDetails -eq "SharedMailbox")' | Add-MailboxPermission -User "Brenda Smith" -AccessRights FullAccess -InheritanceType all -AutoMapping $False
Identity User AccessRights IsInherited Deny
-------- ---- ------------ ----------- ----
Info Box S-1-5-21-70143928... {FullAccess} False False
Info Box2 S-1-5-21-70143928... {FullAccess} False False
如果您已将同一用户的完全访问权限分配给一个或多个共享邮箱,您将收到警告。 PowerShell 输出显示该用户已拥有共享邮箱的完全访问权限。
WARNING: The appropriate access control entry is already present on the object
对组和 AutoMap 功能的完全访问权限
当我们向组分配完全访问权限时,AutoMap 功能不会激活。这是因为完全访问权限被授予组对象,而不是用户对象(组成员)。
在这种情况下,我们需要指导每个组成员如何为他们拥有完全访问权限的 Exchange 邮箱手动添加附加邮箱。
为了避免这种默认行为,我们可以使用 PowerShell 命令使用一些小技巧。
PowerShell 命令会将组成员提取到用户列表,并为每个用户(每个组成员)单独分配完全访问权限。
为每个组成员分配完全访问权限
PowerShell命令语法:
$DL = Get-DistributionGroupMember "Group Name" | Select-Object -ExpandProperty Name
foreach ($Member in $DL) {
Add-MailboxPermission -Identity "Shared Mailbox" -User $Member -AccessRights 'FullAccess' -InheritanceType All
}
PowerShell 命令示例:
$DL = Get-DistributionGroupMember "[email protected]" | Select-Object -ExpandProperty Name
foreach ($Member in $DL) {
Add-MailboxPermission -Identity "[email protected]" -User $Member -AccessRights 'FullAccess' -InheritanceType All
}
分配共享邮箱的发送权限
PowerShell命令语法:
Add-RecipientPermission "Shared Mailbox" -Trustee "Mail Recipient" -AccessRights SendAs -confirm:$False
使用下面的 PowerShell 示例为单个共享邮箱分配“发送为”权限。
Add-RecipientPermission "Info Box" -Trustee "Brenda Smith" -AccessRights SendAs -confirm:$False
PowerShell 输出将类似于以下示例。
PS C:\> Add-RecipientPermission "Info Box" -Trustee "Brenda Smith" -AccessRights SendAs -confirm:$False
Identity Trustee AccessControlType AccessRights Inherited
-------- ------- ----------------- ------------ ---------
Info Box d912b0fc-6f7e-4ec2-a9e4-854ed27a511a Allow {SendAs} False
为所有共享邮箱批量分配“代理发送”权限
您还可以在一个 PowerShell 命令中将特定用户的“发送为”权限分配给所有共享邮箱。
使用以下 PowerShell 命令示例。
Get-Mailbox -Filter '(RecipientTypeDetails -eq "SharedMailbox")' | Add-RecipientPermission -Trustee "Brenda Smith" -AccessRights SendAs -confirm:$False
运行上述命令后,PowerShell 输出示例如下所示。
PS C:\> Get-Mailbox -Filter '(RecipientTypeDetails -eq "SharedMailbox")' | Add-RecipientPermission -Trustee "Brenda Smith" -AccessRights SendAs -confirm:$False
Identity Trustee AccessControlType AccessRights Inherited
-------- ------- ----------------- ------------ ---------
Info Box d912b0fc-6f7e-4ec2-a9e4-854ed27a511a Allow {SendAs} False
Info Box2 d912b0fc-6f7e-4ec2-a9e4-854ed27a511a Allow {SendAs} False
如果您已将同一用户的代理发送权限分配给一个或多个共享邮箱,您将收到警告。 PowerShell 输出显示该用户已拥有共享邮箱的完全访问权限。
WARNING: The appropriate access control entry is already present on the object
分配对共享邮箱日历的权限
要查看特定邮箱文件夹(例如日历文件夹)的权限,我们需要使用定义邮箱名称+特定文件夹名称的语法。
您可以通过运行 Get-MailboxFolderStatistics cmdlet 查找日历名称。
Get-Mailbox -Identity "Info Box" | Get-MailboxFolderStatistics -FolderScope Calendar | ft Identity,Name
鉴于 Exchange 邮箱是英语(定义为 MailboxRegionalConfiguration),我们使用的日历文件夹名称是“Calendar”。如果Exchange邮箱使用不同的邮箱区域配置,我们需要分别写入日历文件夹名称。
为共享邮箱日历分配发布编辑者权限
PowerShell 命令示例:
Add-MailboxFolderPermission -Identity "Info Box:\Calendar" -AccessRight PublishingEditor -User "Brenda Smith"
查看各类邮箱权限
查看有关完全访问和代理发送权限的信息
- PowerShell cmdlet Get-MailboxPermission 显示邮箱权限
- PowerShell cmdlet Get-RecipientPermission 显示“发送为”权限
这两个 PowerShell 命令的默认输出显示冗余信息,导致难以清楚地了解 Exchange 邮箱权限。为此,我们会对冗余信息进行过滤和去除。
查看共享邮箱的完全访问权限
PowerShell 命令示例
Get-MailboxPermission "Info Box" | Where-Object { ($_.IsInherited -eq $False) -and -not ($_.User -like "NT AUTHORITY\SELF") } | Select-Object Identity, user, AccessRights
查看共享邮箱的 SEND AS 权限
PowerShell 命令示例:
Get-RecipientPermission "Info Box" | Where-Object {($_.IsInherited -eq $False) -and -not ($_.Trustee -like "NT AUTHORITY\SELF") } | Select-Object Trustee, AccessRights
查看共享邮箱的日历权限
PowerShell 命令示例:
Get-MailboxFolderPermission -Identity "Info Box:\Calendar" | ft Identity,FolderName,User,AccessRights
删除权限 - 共享邮箱
删除共享邮箱的完全访问权限
PowerShell命令语法:
Remove-MailboxPermission "Shared Mailbox" -AccessRights "The type of permissions" -User "Recipient"
PowerShell 命令示例:
Remove-MailboxPermission "Info Box" -AccessRights FullAccess -User "Brenda Smith"
删除共享邮箱的 SEND AS 权限
PowerShell命令语法:
Remove-RecipientPermission "Shared Mailbox" -AccessRights "The type of permissions" -Trustee "Recipient"
PowerShell 命令示例:
Remove-RecipientPermission "Info Box" -AccessRights SendAs -Trustee "Brenda Smith"
删除发布编辑者对共享邮箱日历的权限
PowerShell命令语法:
Remove-MailboxFolderPermission "Shared Mailbox:\Calendar" -User "Identity"
PowerShell 命令示例:
Remove-MailboxFolderPermission "Info Box:\Calendar" -User "Brenda Smith"
3. 转换邮箱
共享邮箱可以转换为常规 Exchange 邮箱,反之亦然。
当我们将共享邮箱转换为用户邮箱(常规 Exchange 邮箱)时,我们必须将 Office 365 许可证分配给转换后的邮箱。
将普通邮箱转换为共享邮箱
PowerShell命令语法:
Set-Mailbox "User Mailbox" -Type Shared
PowerShell 命令示例:
Set-Mailbox "Brenda Smith" -Type Shared
了解更多:将用户邮箱转换为共享邮箱 »
将共享邮箱转换为常规邮箱
PowerShell命令语法:
Set-Mailbox "Shared Mailbox" -Type Regular
PowerShell 命令示例:
Set-Mailbox "Info Box" -Type Regular
了解更多:将共享邮箱转换为用户邮箱 »
4. 共享邮箱具体设置
将共享邮箱大小设置为 10 GB
PowerShell命令语法:
Set-Mailbox "Shared Mailbox" -ProhibitSendReceiveQuota "Size" -ProhibitSendQuota "Size" -IssueWarningQuota "Size"
PowerShell 命令示例:
Set-Mailbox "Info Box" -ProhibitSendReceiveQuota 10GB -ProhibitSendQuota 9.75GB -IssueWarningQuota 9.5GB
使用“代理发送”权限时,将共享邮箱设置为“保存已发送邮件项目的副本”
定义共享邮箱和已发送邮件文件夹的行为
在我们将 SEND AS 权限分配给共享邮箱上的收件人的情况下,当收件人代表共享邮箱(使用其 SEND AS 权限)发送电子邮件时,默认情况下将保存发送的邮件,在共享邮箱的“已发送邮件”中,但已发送邮件的副本不会保存在收件人的邮箱中。
要更改此默认行为,我们可以使用 PowerShell 参数 -MessageCopyForSentAsEnabled。
PowerShell 命令示例:
Set-Mailbox "Info Box" -MessageCopyForSentAsEnabled $True
查看共享邮箱“保存已发送邮件的副本”设置
PowerShell 命令示例:
Get-Mailbox "Info Box" | Format-List Alias, MessageCopy*
了解更多:将已发送的邮件保存在共享邮箱中 »
5.导出共享邮箱信息
获取现有共享邮箱的列表
使用 PowerShell 命令获取所有共享邮箱的列表。
Get-Mailbox -Filter '(RecipientTypeDetails -eq "SharedMailbox")' | Select-Object DisplayName,Alias,RecipientTypeDetails,PrimarySmtpAddress
PowerShell 输出如下例所示。
PS C:\> Get-Mailbox -Filter '(RecipientTypeDetails -eq "SharedMailbox")' | Select-Object DisplayName,Alias,RecipientTypeDetails,PrimarySmtpAddress
DisplayName Alias RecipientTypeDetails PrimarySmtpAddress
----------- ----- -------------------- ------------------
Info Box InfoBox SharedMailbox [email protected]
Info Box2 Info2 SharedMailbox [email protected]
将现有共享邮箱列表导出到 CSV 文件
您可以将所有现有共享邮箱的信息导出到单个 CSV 文件。这样,您就可以轻松搜索不同的共享邮箱。
PowerShell 命令示例:
Get-Mailbox -Filter '(RecipientTypeDetails -eq "SharedMailbox")' | Select-Object DisplayName,Alias,RecipientTypeDetails,PrimarySmtpAddress | Export-CSV C:\temp\"Shared Mailboxes Info.CSV" -NoTypeInformation -Encoding UTF8
导出信息后,您可以在 C:\temp 文件夹中找到 CSV 文件。
使用 Microsoft Excel 等应用程序打开 CSV 文件以查看结果。
6. 删除共享邮箱
您可以使用 PowerShell 轻松软删除特定的共享邮箱。这意味着删除的共享邮箱将在 Azure AD 回收站中保留 30 天,然后才会被永久删除。您可以使用 PowerShell 在管理 Office 365 回收站中还原已删除的共享邮箱。
软删除共享邮箱
您可以软删除单个共享邮箱。
PowerShell命令语法:
Remove-Mailbox -Identity "Shared Identity" -Confirm:$false
PowerShell 命令示例:
Remove-Mailbox -Identity "Info Box" -Confirm:$false
批量软删除共享邮箱
使用以下 PowerShell 命令批量软删除共享邮箱。
Get-Mailbox -Filter '(RecipientTypeDetails -eq "SharedMailBox")' -ResultSize Unlimited | Remove-Mailbox -Confirm:$false
硬删除共享邮箱
如果您想永久硬删除邮箱,则需要执行几个步骤。请阅读使用 PowerShell 强制删除 Microsoft 365 邮箱一文来了解更多相关信息。
这是否有助于您使用 PowerShell 管理 Office 365 共享邮箱?
了解更多:在 Microsoft 365 中配置捕获所有邮箱 »
结论
您学习了如何使用 PowerShell 创建新的共享邮箱。您已成功为共享邮箱分配和删除不同的权限。将共享邮箱转换为普通用户邮箱很容易,反之亦然。此外,您还可以使用 PowerShell 将所有共享邮箱的信息导出到 CSV 文件。
您喜欢这篇文章吗?您可能还喜欢使用 Microsoft Graph PowerShell 发送电子邮件。不要忘记关注我们并分享这篇文章。
猜你还喜欢
- 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