[玩转系统] 使用 PowerShell 管理转发邮件 |办公室365
作者:精品下载站 日期:2024-12-14 08:38:58 浏览:14 分类:玩电脑
使用 PowerShell 管理转发邮件 |办公室365
将邮件从组织中的用户邮箱转发到内部或外部用户电子邮件地址。如果您想阅读并回复来自其他电子邮件帐户的邮件,或者您希望其他人在您不在时接收并回复您的电子邮件,则此功能非常有用。在本文中,您将了解如何在 Exchange Online (Microsoft 365) 中使用 PowerShell 管理转发邮件。
使用 PowerShell 转发邮件
转发电子邮件规则会自动将发送到特定邮箱的每封电子邮件启用到其他电子邮件地址。
通过电子邮件转发,您可以设置邮箱,将发送到用户邮箱的电子邮件转发到组织内部或外部的其他用户的邮箱。
目标收件人的电子邮件地址可以是:
- 内部邮箱:来自您组织的收件人
- 外部邮箱:组织外部的收件人
上述每个选项都有一个不同的 PowerShell 参数。另一个参数是在转发邮件的源收件人邮箱中保留电子邮件的副本。
我们将向您展示一些使用 PowerShell 管理 Microsoft 365 转发邮件的示例:
- 邮件转发到内部收件人:David 和 Amanda 是属于同一 Microsoft 365 域名 a-d.site 的收件人。
- 邮件转发到外部收件人:David 希望将他收到的每封邮件转发到外部电子邮件地址 [email protected]。
- 实现对外联系的邮件转发。
- 批量邮件转发:将所有 Microsoft 365 用户邮箱的电子邮件转发到目标电子邮件地址。
连接到 Exchange Online PowerShell
为了能够运行本文中指定的 PowerShell 命令,您需要连接到 Exchange Online PowerShell。
Connect-ExchangeOnline
以管理员身份启动 Windows PowerShell 并运行 cmdlet Connect-ExchangeOnline。
1.设置邮件转发
您可以使用以下两个参数将发送到用户邮箱的所有电子邮件转发到另一个电子邮件地址:
- 转发地址(内部收件人)
- ForwardingSmtpAddress(内部和外部收件人)
这两个参数之间的主要区别在于,-ForwardingAddress 仅用于内部电子邮件地址,而-ForwardingSmtpAddress 用于外部电子邮件地址。此外,使用-ForwardAddress不会通知用户他们的邮件正在被转发。这意味着用户无法查看或更改这些转发设置,只有管理员才能这样做。
使用 ForwardingAddress 并且不保存本地电子邮件副本
我们希望将发送到用户邮箱的所有电子邮件转发给同一组织内部的另一个用户。默认情况下,它不会在用户邮箱中保留转发电子邮件的副本。
注意:当您使用参数-ForwardingAddress时,用户将不知道发送的电子邮件已转发到另一个邮箱。用户看不到转发地址,这意味着只有管理员才能更改这些转发设置。
在我们的示例中,我们希望发送到 [email protected] 的电子邮件仅传送到转发邮箱 [email protected]嗯>。
PowerShell命令语法:
Set-Mailbox -Identity "UPN" -ForwardingAddress "Forward Mailbox"
PowerShell 命令示例:
Set-Mailbox -Identity "[email protected]" -ForwardingAddress "[email protected]"
邮箱所有者 (David Kent) 将无法查看和更改这些邮件转发设置。
使用 ForwardingAddress 并保存本地副本电子邮件
默认情况下,-DeliverToMailboxAndForward 参数设置为 $False,这意味着邮件仅传送到转发地址。如果该参数设置为 $True,邮件将被发送到邮箱和转发地址。
在我们的示例中,我们希望将发送到 [email protected] 的所有电子邮件转发给同一组织中的另一个用户 [email protected]。在这种情况下,两个邮箱都会在其收件箱中收到电子邮件。
PowerShell命令语法:
Set-Mailbox -Identity "UPN" -ForwardingAddress "Forward Mailbox" -DeliverToMailboxAndForward $True
PowerShell 命令示例:
Set-Mailbox -Identity "[email protected]" -ForwardingAddress "[email protected]" -DeliverToMailboxAndForward $True
邮箱所有者 (David Kent) 将无法查看和更改这些邮件转发设置。
使用 ForwardingSmtpAddress 并且不保存本地副本电子邮件
您可以将发送到用户邮箱的电子邮件转发到内部或外部电子邮件地址。默认情况下,它不会在用户邮箱中保留转发电子邮件的副本。
注意:使用参数-ForwardingSmtpAddress将电子邮件转发到内部或外部邮箱。用户邮箱将了解转发设置并可以更改此设置。
在我们的示例中,我们希望发送到 [email protected] 的电子邮件仅传送到转发外部邮箱 [email protected]。
PowerShell命令语法:
Set-Mailbox -Identity "UPN" -ForwardingSmtpAddress "Forward Mailbox"
PowerShell 命令示例:
Set-Mailbox -Identity "[email protected]" -ForwardingSmtpAddress "[email protected]"
邮箱所有者 (David Kent) 将知道电子邮件正在转发到 [email protected],并且可以更改这些邮件转发设置。
使用 ForwardingSmtpAddress 并保存本地副本电子邮件
默认情况下,-DeliverToMailboxAndForward 设置为 $False,这意味着邮件仅传送到转发地址。我们将参数设置为$True,这样邮件就会被传递到邮箱和转发地址。
在我们的示例中,我们将向您展示如何将来自 [email protected] 的电子邮件转发到外部邮箱,以便双方都能收到电子邮件。
PowerShell命令语法:
Set-Mailbox -Identity "UPN" -ForwardingSmtpAddress "Forward Mailbox" -DeliverToMailboxAndForward $True
PowerShell 命令示例:
Set-Mailbox -Identity "[email protected]" -ForwardingSmtpAddress "[email protected]" -DeliverToMailboxAndForward $True
邮箱所有者 (David Kent) 可以查看和更改这些邮件转发设置。
创建外部联系人以转发电子邮件
如果您想在用户不知情的情况下将电子邮件转发到另一个邮箱,则需要创建外部联系人。
在我们的示例中,我们将创建一个新联系人并使用外部电子邮件地址。
PowerShell命令语法:
New-MailContact -Name "Display Name" -ExternalEmailAddress "External Recipient Email Address"
运行以下 PowerShell 命令示例:
New-MailContact -Name "Suzan Wilkins" -ExternalEmailAddress "[email protected]"
PowerShell 输出显示您新创建的联系人:
PS C:\> New-MailContact -Name "Suzan Wilkins" -ExternalEmailAddress "[email protected]"
Name Alias RecipientType
---- ----- -------------
Suzan Wilkins SuzanWilkins MailContact
使用 ForwardingAddress 与外部联系人联系
在上一步中,您使用外部电子邮件地址创建了一个新联系人。您可以将电子邮件从用户邮箱转发到此外部电子邮件地址,而无需让用户邮箱知道这些转发设置。
在我们的示例中,我们会将发送到 [email protected] 的所有电子邮件转发给外部联系人 [email protected]。
运行以下 PowerShell 命令示例:
Set-Mailbox -Identity "[email protected]" -ForwardingAddress "[email protected]" -DeliverToMailboxAndForward $False
结果是用户(David)不会知道这些更改,因为用户看不到这些电子邮件转发设置,这意味着只有管理员可以更改这些设置。此外,用户邮箱中没有保存转发电子邮件的副本。
2. 显示特定邮箱转发设置的信息
我们将向您展示如何显示有关组织中单个邮箱和所有用户邮箱的电子邮件转发设置的信息。
显示特定邮箱的转发信息
您可以显示信息转发设置,包括特定邮箱的ForwardAddress和ForwardSmtpAddress。
在我们的示例中,我们将向您展示[email protected]的转发信息设置。
PowerShell命令语法:
Get-Mailbox "UPN" | ft DisplayName, UserPrincipalName, ForwardingSmtpAddress, ForwardingAddress, DeliverToMailboxAndForward
运行以下 PowerShell 示例:
Get-Mailbox "[email protected]" | ft DisplayName, UserPrincipalName, ForwardingSmtpAddress, ForwardingAddress, DeliverToMailboxAndForward
PowerShell 输出示例:
PS C:\> Get-Mailbox "[email protected]" | ft DisplayName, UserPrincipalName, ForwardingSmtpAddress, ForwardingAddress, DeliverToMailboxAndForward
DisplayName UserPrincipalName ForwardingSmtpAddress ForwardingAddress DeliverToMailboxAndForward
----------- ----------------- --------------------- ----------------- --------------------------
David Kent [email protected] smtp:[email protected] Suzan Wilkins False
显示包含 FowardingAddress 和 ForwardingSmtpAddress 的所有邮箱的列表
显示将地址转发给内部或外部收件人的所有邮箱的列表。
PowerShell 命令示例:
Get-Mailbox -ResultSize Unlimited | Where { ($_.ForwardingAddress -ne $null) -or ($_.ForwardingSmtpAddress -ne $null) } | Select UserPrincipalName, ForwardingAddress, ForwardingSmtpAddress, DeliverToMailboxAndForward
PowerShell 输出示例:
PS C:\> Get-Mailbox -ResultSize Unlimited | Where { ($_.ForwardingAddress -ne $null) -or ($_.ForwardingSmtpAddress -ne $null) } | Select UserPrincipalName, ForwardingAddress, ForwardingSmtpAddress, DeliverToMailboxAndForward
UserPrincipalName ForwardingAddress ForwardingSmtpAddress DeliverToMailboxAndForward
----------------- ----------------- --------------------- --------------------------
[email protected] smtp:[email protected] True
[email protected] 41377e9c-dc47-46c0-b4a5-1d5bbdcb5cc5 True
[email protected] Suzan Wilkins smtp:[email protected] False
[email protected] David Wilkins True
3.禁用或删除电子邮件转发邮箱
我们想向您展示如何禁用单个邮箱和所有邮箱的电子邮件转发选项。我们必须使用 $null 值来删除电子邮件转发地址。
禁用特定邮箱的转发地址
您可以禁用特定邮箱的转发地址。在我们的示例中,我们将删除 [email protected] 的转发地址。
PowerShell命令语法:
Set-Mailbox "UPN" -ForwardingAddress $null
运行以下 PowerShell 示例:
Set-Mailbox "[email protected]" -ForwardingAddress $null
禁用特定邮箱的 ForwardingSmtpAddress
我们想要展示如何禁用单个邮箱的 ForwardingSmtpAddress(外部收件人)。在我们的示例中,我们将删除 [email protected] 的外部转发地址。
PowerShell命令语法:
Set-Mailbox "UPN" -ForwardingSmtpAddress $null
运行以下 PowerShell 命令示例:
Set-Mailbox "[email protected]" -ForwardingSmtpAddress $null
批量禁用所有邮箱的 ForwardingAddress
我们将向您展示如何禁用 Microsoft 365 邮箱的所有转发地址。
运行以下 PowerShell 命令:
Get-Mailbox -ResultSize Unlimited | Where-Object {($_.ForwardingAddress -ne $null) } | Set-Mailbox -ForwardingAddress $null
批量禁用所有邮箱的 ForwardingSmtpAddress
批量禁用 Microsoft 365 邮箱的所有 ForwardingSmtpAddresses。
运行以下 PowerShell 命令:
Get-Mailbox -ResultSize Unlimited | Where-Object {($_.ForwardingSmtpAddress -ne $null) } | Set-Mailbox -ForwardingSmtpAddress $null
4. 导出所有电子邮件转发设置的信息
您可以导出有关组织中 Microsoft 365 邮箱的所有转发电子邮件地址的信息。这样,您将可以更好地概览来搜索不同的内部或外部电子邮件地址。
要将信息导出到 CSV 文件,您需要创建一个文件夹:
- 创建一个名为 temp 的文件夹
- 将其保存在(C:)驱动器中
将所有转发地址的信息导出至 CSV
您可以将具有内部(ForwardAddress) 和外部(ForwardSmtpAddress) 电子邮件地址的所有邮箱的信息导出到 CSV 文件。
运行以下 PowerShell 命令:
Get-Mailbox -ResultSize Unlimited | Where-Object {$_.ForwardingAddress -ne $null -or $_.ForwardingSmtpAddress -ne $null } | Select-Object DisplayName, Alias, UserPrincipalName, ForwardingAddress, ForwardingSmtpAddress, DeliverToMailboxAndForward, RecipientType, RecipientTypeDetails | Export-Csv "C:\temp\All Recipients Forwarding Addresses.csv" -NoTypeInformation -Encoding UTF8
转到 (C:) 驱动器中的 temp 文件夹,然后使用 Microsoft Excel 打开 CSV 文件以查看结果。
将有关用户收件箱转发规则的信息导出到 CSV
您可以将所有邮箱的用户收件箱转发规则的信息导出到 CSV 文件。
运行以下 PowerShell 脚本:
# Define an array to store the results
$UserInboxRuleResults = @()
# Go through each mailbox
ForEach ($mailbox in (Get-Mailbox -ResultSize Unlimited)) {
# Retrieve inbox rules for the current mailbox
$inboxRules = Get-InboxRule -Mailbox $mailbox.DistinguishedName
# Filter rules with forwarding enabled
$forwardingRules = $inboxRules | Where-Object { $_.ForwardTo }
# Process forwarding rules
ForEach ($rule in $forwardingRules) {
$ruleInfo = [PSCustomObject]@{
UserPrincipalName = $mailbox.UserPrincipalName
RuleName = $rule.Name
ForwardTo = $rule.ForwardTo
Description = $rule.Description
}
# Add the rule info to the results array
$UserInboxRuleResults += $ruleInfo
}
}
# Export the results to a CSV file
$UserInboxRuleResults | Export-Csv -Path "C:\temp\UserInboxRules.csv" -NoTypeInformation -Encoding UTF8
5. 将所有用户的电子邮件批量转发到单个电子邮件地址
我们想向您展示如何将电子邮件从所有用户邮箱批量转发到组织中的单个电子邮件地址。
将所有用户的电子邮件转发给内部收件人并保存电子邮件副本
当您将电子邮件从用户邮箱转发到另一个电子邮件地址时,默认情况下不会在用户收件箱中保存电子邮件的副本。如果您希望组织中的所有用户继续接收电子邮件并将其转发到另一个邮箱,则应按照以下步骤操作。
- 在用户邮箱中保存电子邮件的本地副本
PowerShell命令语法:
Get-Mailbox -ResultSize Unlimited | Where {$_.RecipientType -eq "UserMailbox"} | Set-Mailbox -DeliverToMailboxAndForward $True
- 将所有用户的电子邮件转发至内部目标收件人
运行以下 PowerShell 示例:
Get-Mailbox -ResultSize Unlimited | Where {$_.RecipientType -eq "UserMailbox"} | Set-Mailbox -ForwardingAddress "[email protected]"
将所有用户的电子邮件转发给外部收件人并保存电子邮件副本
我们会将发送给我们组织中的用户的所有电子邮件转发到外部电子邮件地址,并保存电子邮件的副本。这意味着我们希望将邮件传递到邮箱和转发地址。如果您不想在用户邮箱中保留电子邮件副本,可以跳过下面的第一步。
- 在用户邮箱中保存电子邮件的本地副本
PowerShell命令语法:
Get-Mailbox -ResultSize Unlimited | Where {$_.RecipientType -eq "UserMailbox"} | Set-Mailbox -DeliverToMailboxAndForward $True
- 将电子邮件转发给目标收件人(外部组织收件人)
Get-Mailbox -ResultSize Unlimited | Where {$_.RecipientType -eq "UserMailbox"} | Set-Mailbox -ForwardingSmtpAddress "External Recipient Email Address"
运行以下 PowerShell 命令:
Get-Mailbox -ResultSize Unlimited | Where {$_.RecipientType -eq "UserMailbox"} | Set-Mailbox -ForwardingSmtpAddress "[email protected]"
从 CSV 文件导入以将电子邮件转发给外部收件人并保存本地副本
每次电子邮件到达邮箱时,您都可以将电子邮件转发给外部收件人。如果您的组织中只有少数用户将电子邮件转发给外部收件人,您可以创建一个 CSV 文件来导入它并在脚本中使用它。我们将向您展示两种必须创建不同 CSV 文件的场景。
场景 1:
我们希望将电子邮件从组织中的多个用户邮箱转发到同一内部收件人。
创建一个包含单列的 CSV 文件:
- 打开记事本或Microsoft Excel
- 在顶部输入用户
- 列出邮箱
- 如果 (C:) 驱动器中还没有文件夹 temp,请创建该文件夹
- 将文件命名为Users.csv
- 保存类型 所有文件 (*)
- 点击保存
- 使用 Import-Csv cmdlet 检查 CSV 文件
以管理员身份运行 Windows PowerShell。要确保 PowerShell 可以读取该文件,请运行 Import-Csv cmdlet。
Import-Csv "C:\temp\Users.csv"
- 启用选项DeliverToMailboxAndForward(可选)
$Mailboxes = Import-Csv "C:\temp\Users.csv" -Encoding UTF8
ForEach ($Mailbox in $Mailboxes)
{ Set-Mailbox $Mailbox.users -DeliverToMailboxAndForward $True }
- 转发电子邮件至内部目标收件人
$Mailboxes = Import-Csv "C:\temp\Users.csv" -Encoding UTF8
ForEach ($Mailbox in $Mailboxes)
{ Set-Mailbox $Mailbox.users -ForwardingAddress "[email protected]" }
场景 2:
我们希望将电子邮件从组织中的用户邮箱转发到不同的内部或外部收件人,无论是否保存转发电子邮件的本地副本。
创建 CSV 文件:
- 打开Microsoft Excel
- 输入邮箱、条件、转发至作为列标题
- 在第一列中列出邮箱(在邮箱下)
- 在第二列(在条件下)输入True或False
- 在第三列中列出邮箱(在ForwardTo下)
- 将 CSV 文件保存在 (C:) 驱动器中
- 将文件命名为Users.csv
- 另存为 CSV UTF-8
- 运行以下 PowerShell 脚本
# Import the CSV file
$users = Import-Csv -Path "C:\temp\Users.csv"
# Loop through each row in the CSV data
ForEach ($user in $users) {
$identity = $user.mailbox
$forwardTo = $user.forwardto
$condition = $user.condition -eq "True"
# Set the mailbox forwarding settings
Set-Mailbox -Identity $identity -ForwardingSmtpAddress $forwardTo -DeliverToMailboxAndForward $condition
}
这是否有助于您在组织中使用 PowerShell 管理 Microsoft 365 转发邮件?
阅读更多内容:使用 Microsoft Graph PowerShell 发送电子邮件 »
结论
您了解了如何使用 PowerShell Exchange Online 管理转发邮件。使用 PowerShell,您可以设置或删除单个邮箱或所有邮箱的电子邮件转发。还可以显示有关转发设置的信息或将信息导出到 CSV 文件。最后,您可以将用户邮箱批量转发给内部或外部收件人。
您喜欢这篇文章吗?您可能还喜欢启用或禁用 Exchange ActiveSync 邮箱。不要忘记关注我们并分享这篇文章。
猜你还喜欢
- 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