[玩转系统] 如何使用 PowerShell 添加电子邮件地址
作者:精品下载站 日期:2024-12-14 05:54:12 浏览:12 分类:玩电脑
如何使用 PowerShell 添加电子邮件地址
您可以将其他电子邮件添加到组织中的单个邮箱或所有邮箱,并保留现有电子邮件地址。还可以添加一个电子邮件地址来替换现有的电子邮件地址。在本文中,您将了解如何使用 PowerShell 添加电子邮件地址。
管理 Exchange Online 中的电子邮件地址
要管理 Microsoft 365 组织中的电子邮件地址,请使用以下文章:
- 使用 PowerShell 添加电子邮件地址(本文)
- 使用 PowerShell 删除电子邮件地址
- 使用 PowerShell 导出电子邮件地址
主要和辅助电子邮件地址
每个收件人可以有多个电子邮件地址,但应始终有一个主 SMTP 地址,这是默认设置。所有其他电子邮件地址都是可选的,例如:
- smtp:辅助电子邮件地址(别名)
- 代理:其他电子邮件地址
- SIP:其他电子邮件地址
- x500:其他电子邮件地址
连接到 Exchange Online PowerShell
若要运行当前文章中指定的 PowerShell 命令,您必须连接到 Exchange Online PowerShell。
Connect-ExchangeOnline
将主 SMTP 电子邮件地址添加到单个邮箱
要添加或替换现有电子邮件地址,我们将使用 Set-Mailbox PowerShell cmdlet。我们将向您展示使用 PowerShell 将主电子邮件地址添加到单个邮箱的不同方法。您还可以在 Microsoft 365 管理中心和 PowerShell 中更改 Microsoft 365 主 SMTP 地址。
方法 1. 添加主 SMTP 地址并删除其他电子邮件地址
我们将在 PowerShell 命令中使用 -EmailAddresses 参数来替换主 SMTP 电子邮件地址。
运行以下 PowerShell 命令将主 SMTP 电子邮件地址添加到用户邮箱并删除其他现有电子邮件地址。
Set-Mailbox "[email protected]" -EmailAddresses "SMTP:[email protected]"
结果如下:
- 新电子邮件地址([email protected])将取代当前的主电子邮件地址。
- 旧的 SMTP 主电子邮件地址现在保存为辅助 smtp 电子邮件地址。
- 所有其他附加电子邮件地址(例如别名、代理、.onmicrosoft.com 和 SIP 地址)均已删除。
- UserPrincipalName 将保持不变([email protected])。
运行 PowerShell 命令后,您将收到以下警告,您可以忽略该警告。
警告:代理地址“[email protected]”用作 WindowsLiveId。因此无法将其从电子邮件地址列表中删除。要删除它,请首先更改 WindowsLiveId。
运行以下 PowerShell 命令来检查结果。
Get-Mailbox "[email protected]" | Format-List Alias, PrimarySmtpAddress, EmailAddresses
Powershell 结果显示了这些结果。
Alias : Brenda.Smith
PrimarySmtpAddress : [email protected]
EmailAddresses : {smtp:[email protected],
SMTP:[email protected]}
方法 2. 添加主 SMTP 地址并保留所有现有电子邮件地址
我们将添加一个主电子邮件地址来替换旧的电子邮件地址。要替换主 SMTP 地址,请使用 -WindowsEmailAddress 参数。
运行以下 PowerShell 命令来替换主 SMTP 地址,而不删除所有其他电子邮件地址。
Set-Mailbox "[email protected]" -WindowsEmailAddress "[email protected]"
结果如下:
- 新电子邮件地址([email protected])将取代当前的主电子邮件地址。
- 旧的 SMTP 主电子邮件地址现在保存为辅助 smtp 电子邮件地址。
- 所有其他附加电子邮件地址(例如别名、代理、.onmicrosoft.com 和 SIP 地址)均保持不变。
将辅助 smtp 电子邮件地址添加到单个邮箱
添加辅助电子邮件地址有多种方法。在 PowerShell 命令中使用 @{add 添加其他电子邮件地址。
邮箱的主 SMTP 和所有其他现有电子邮件地址将保持不变。
方法一
运行以下 PowerShell 命令将一个 smtp 电子邮件地址添加到单个邮箱。
Set-Mailbox "[email protected]" -EmailAddresses @{add = "[email protected]" }
方法2
运行下面的 PowerShell 命令将多个 smtp 电子邮件地址添加到单个邮箱。
Set-Mailbox "[email protected]" -EmailAddresses @{add = "[email protected]", "[email protected]" }
方法3
您可以将 add 替换为 (+) 符号,但将其括在双引号中,如下面的 PowerShell 命令所示。
Set-Mailbox "[email protected]" -EmailAddresses @{"+" = "[email protected]" }
将主要和辅助电子邮件地址添加到单个邮箱
您可以为用户添加新的主 SMTP 地址和辅助 SMTP 地址,但这将删除所有现有的电子邮件地址。
方法 1. 添加辅助电子邮件地址并删除现有电子邮件地址
当您添加新的 SIP 地址时,它将删除单个邮箱的所有现有电子邮件地址,但保留主 SMTP 地址。
运行 PowerShell 命令将 SIP 电子邮件地址添加到单个邮箱。
Set-Mailbox "[email protected]" -EmailAddresses "SIP:[email protected]"
结果如下:
- 它添加了新的 SIP 电子邮件地址([email protected])。
- 所有其他附加电子邮件地址(例如别名、代理、.onmicrosoft.com 和 SIP 地址)均已删除。
- 主 SMTP 电子邮件地址将保持不变。
运行 PowerShell 命令后,您将收到以下警告,您可以忽略该警告。
警告:代理地址“[email protected]”用作 WindowsLiveId。因此无法将其从电子邮件地址列表中删除。要删除它,请首先更改 WindowsLiveId。
方法 2. 添加主 SMTP 地址和辅助电子邮件地址并删除现有电子邮件地址
您可以替换主电子邮件地址并添加新的别名地址,这将删除所有现有电子邮件地址。当您更改主地址时,旧的 SMTP 地址不会被删除,而是保留为辅助 SMTP 地址。
在我们的示例中,我们要添加这些新的电子邮件地址:
- [email protected](新的主要电子邮件地址)
- 布伦达[email protected]
- 布伦达[email protected]
PowerShell 命令Set-Mailbox 会将第一个电子邮件地址添加为主电子邮件地址,将其他电子邮件地址添加为辅助(别名)电子邮件地址(如果您没有指定任何地址)。
注意:要添加和替换主 SMTP 地址,最好在 PowerShell 命令中添加 SMTP 后缀。
运行以下 PowerShell 命令以添加两个电子邮件地址。
Set-Mailbox "[email protected]" -EmailAddresses "SMTP:[email protected]", "[email protected]", "[email protected]"
结果如下:
- 第一个电子邮件地址([email protected]) 替换当前的主电子邮件地址。
- 它将添加第二个和第三个电子邮件地址([email protected]、[email protected])作为辅助 (smtp) 地址。
- 旧的主要地址更改为辅助 smtp 地址。
- 所有其他附加电子邮件地址(例如别名、代理、.onmicrosoft.com 和 SIP 地址)均已删除(删除)。
- 运行命令后,您将收到以下警告。
警告:代理地址“[email protected]”用作 WindowsLiveId。因此无法将其从电子邮件地址列表中删除。要删除它,请首先更改 WindowsLiveId。
为所有邮箱添加带有新域名后缀的辅助 smtp 地址
我们将使用 PowerShell 中的 ForEach 语句为所有邮箱添加额外的电子邮件地址。 PowerShell 脚本将收集所有现有电子邮件地址,并将带有新域名后缀的新电子邮件地址添加为附加电子邮件地址。它不会删除现有的电子邮件地址。
- 我公司使用公共域名a-d.site
- 我公司额外购买了一个域名m365pilot.com
PowerShell 脚本将执行以下操作:
- 将带有新域名后缀 m365pilot.com 的辅助 smtp 地址添加到所有 Exchange Online 邮箱。
- 新电子邮件地址不会取代现有的主电子邮件地址,但会作为附加电子邮件地址添加。
- 它将保留所有其他现有电子邮件地址,例如收件人的代理、SIP 或 x500 电子邮件地址。
在我们的示例中,电子邮件地址使用域 (a-d.site),我们将为所有邮箱更改为另一个新域 (m365pilot.com)。
- 在第 3 行中输入新的域名
- 运行以下 PowerShell 脚本
$Mailboxes = Get-Mailbox -Filter { IsDirSynced -eq $false } -ResultSize Unlimited
foreach ($Mailbox in $Mailboxes) {
$NewAddress = $Mailbox.Alias + "@m365pilot.com"
if ($Mailbox.EmailAddresses -notcontains "smtp:$NewAddress") {
$Mailbox.EmailAddresses += $NewAddress
Set-Mailbox -Identity $Mailbox.Alias -EmailAddresses $Mailbox.EmailAddresses
Write-Host "Added secondary smtp address $NewAddress to $($Mailbox.UserPrincipalName)" -ForegroundColor Green
}
else {
Write-Host "Secondary smtp address $NewAddress already exists for $($Mailbox.UserPrincipalName)" -ForegroundColor Yellow
}
}
PowerShell 输出结果。
Added secondary smtp address [email protected] to [email protected]
Added secondary smtp address [email protected] to [email protected]
Added secondary smtp address [email protected] to [email protected]
Secondary smtp address [email protected] already exists for [email protected]
Secondary smtp address [email protected] already exists for [email protected]
Added secondary smtp address [email protected] to [email protected]
Secondary smtp address [email protected] already exists for [email protected]
Secondary smtp address [email protected] already exists for [email protected]
为所有邮箱添加带有新域名后缀的主 SMTP 地址
我们将用使用不同域名后缀的新主 SMTP 地址替换现有的主地址,而不删除其他电子邮件地址。
- 我公司使用公共域名a-d.site
- 我司额外购买域名m365pilot.com
PowerShell 脚本将执行以下操作:
- 将当前主电子邮件地址替换为使用域名后缀 m365pilot.com 的新主电子邮件地址。
- 它不会删除以前的主地址,而是将其更改为别名 (smtp) 电子邮件地址。
- 所有其他现有电子邮件地址(例如收件人的代理、SIP 或 x500 电子邮件地址)都将保留。
在我们的示例中,主电子邮件地址有一个域 (a-d.site),我们将为所有邮箱更改为另一个新域 (m365pilot.com)。它将添加新的主电子邮件地址并替换旧的主电子邮件地址。
- 在第 3 行中输入新的域名
- 运行以下 PowerShell 脚本
$Mailboxes = Get-Mailbox -Filter { IsDirSynced -eq $false } -ResultSize Unlimited
foreach ($Mailbox in $Mailboxes) {
$NewAddress = $Mailbox.Alias + "@m365pilot.com"
if ($Mailbox.PrimarySmtpAddress -notlike "$NewAddress") {
Set-Mailbox -Identity $Mailbox.Alias -WindowsEmailAddress $NewAddress
Write-Host "Changed primary SMTP address $($Mailbox.PrimarySmtpAddress) to $NewAddress" -ForegroundColor Green
}
else {
Write-Host "Primary SMTP address $NewAddress is already set for $($Mailbox.PrimarySmtpAddress)" -ForegroundColor Yellow
}
}
PowerShell 输出显示以下结果。
Changed primary SMTP address [email protected] to [email protected]
Primary SMTP address [email protected] is already set for [email protected]
Changed primary SMTP address [email protected] to [email protected]
Changed primary SMTP address [email protected] to [email protected]
Changed primary SMTP address [email protected] to [email protected]
Changed primary SMTP address [email protected] to [email protected]
Primary SMTP address [email protected] is already set for [email protected]
Primary SMTP address [email protected] is already set for [email protected]
从 CSV 文件添加主要和辅助电子邮件地址
在此示例中,我们希望替换主 SMTP 地址并从 CSV 文件添加辅助地址,而不删除收件人的任何现有别名。
请按照以下步骤创建 CSV 文件来替换主 SMTP 地址和辅助电子邮件地址:
- 将第一列命名为收件人并列出其下的所有收件人
- 将第二列命名为 PrimaryEmail,并列出所有主电子邮件地址
- 将第三列命名为 AliasEmail,并列出所有电子邮件地址
- 使用分号 (;) 字符分隔 AliasEmail 列下的电子邮件地址
- 将文件命名为 EmailAddresses 并将其另存为 CSV 文件
- 如果您没有,请在 (C:) 驱动器中创建一个 temp 文件夹
- 保存临时文件夹中的 EmailAddresses.csv 文件
- 为了确保 PowerShell 可以读取该文件,请运行 Import-Csv cmdlet
Import-Csv "C:\temp\EmailAddresses.csv"
- 在第 1 行中指定CSV 路径文件
- 运行以下 PowerShell 脚本
$Recipients = Import-Csv "C:\temp\EmailAddresses.csv"
foreach ($Mailbox in $Recipients) {
$PrimaryEmail = $Mailbox.PrimaryEmail
$AliasEmails = $Mailbox.AliasEmail -split ';'
# Get current email addresses of the mailbox
$EXOMailbox = Get-Mailbox -Identity $Mailbox.Recipient
foreach ($Alias in $AliasEmails) {
# Check if alias already exists
if ($EXOMailbox.EmailAddresses -notcontains "smtp:$Alias") {
Set-Mailbox -Identity $Mailbox.Recipient -EmailAddresses @{add = "smtp:$Alias" } -WarningAction SilentlyContinue
Write-Host "Adding alias email address '$Alias' to $($Mailbox.Recipient)" -ForegroundColor Green
}
else {
Write-Host "Alias email address '$Alias' already exists for $($Mailbox.Recipient). Skipping..." -ForegroundColor Yellow
}
}
# Set the primary email address if it's different from the current primary email
if ($PrimaryEmail -ne $EXOMailbox.PrimarySMTPAddress) {
Set-Mailbox -Identity $Mailbox.Recipient -WindowsEmailAddress $PrimaryEmail -WarningAction SilentlyContinue
Write-Host "Setting primary email address to '$PrimaryEmail' for $($Mailbox.Recipient)" -ForegroundColor Green
}
else {
Write-Host "Primary email address '$PrimaryEmail' is already set for $($Mailbox.Recipient). Skipping..." -ForegroundColor Yellow
}
}
PowerShell 脚本将执行以下操作:
- 添加新的别名 smtp 地址
- 设置新的主 SMTP 地址
- 旧的主 SMTP 地址将更改为别名 smtp 地址
- 它还将保留收件人的所有现有电子邮件地址
- 它显示主电子邮件地址和别名电子邮件地址是否已设置
Adding alias email address '[email protected]' to [email protected]
Adding alias email address '[email protected]' to [email protected]
Alias email address '[email protected]' already exists for [email protected]. Skipping...
Setting primary email address to '[email protected]' for [email protected]
从 CSV 文件添加辅助 smtp 电子邮件地址
在下一个示例中,我们只想从 CSV 文件添加辅助 smtp 地址,而不删除收件人的任何现有别名。
您可以选择向 CSV 文件中的每个收件人添加一个或多个辅助 smtp 电子邮件地址。
您需要创建一个 CSV 文件:
- 将第一列命名为收件人并列出其下的所有收件人
- 将第三列命名为 AliasEmail,并列出其下的所有电子邮件地址
- 使用分号 (;) 字符分隔 AliasEmail 列下的电子邮件地址。
- 将文件命名为 SecondaryAddresses 并将其另存为 CSV 文件
- 如果您没有,请在 (C:) 驱动器中创建一个 temp 文件夹
- 保存临时文件夹中的SecondaryAddresses.csv文件
- 为了确保 PowerShell 可以读取该文件,请运行 Import-Csv cmdlet
Import-Csv "C:\temp\SecondaryAddresses.csv"
- 在第 1 行中指定CSV 路径文件
- 运行以下 PowerShell 脚本
$Recipients = Import-Csv "C:\temp\SecondaryAddresses.csv"
foreach ($Mailbox in $Recipients) {
$AliasEmails = $Mailbox.AliasEmail -split ';'
# Get current email addresses of the mailbox
$EXOMailbox = Get-Mailbox -Identity $Mailbox.Recipient
foreach ($Alias in $AliasEmails) {
# Check if alias already exists
if ($EXOMailbox.EmailAddresses -notcontains "smtp:$Alias") {
Set-Mailbox -Identity $Mailbox.Recipient -EmailAddresses @{add = "smtp:$Alias" } -WarningAction SilentlyContinue
Write-Host "Adding alias email address '$Alias' to $($Mailbox.Recipient)" -ForegroundColor Green
}
else {
Write-Host "Alias email address '$Alias' already exists for $($Mailbox.Recipient). Skipping..." -ForegroundColor Yellow
}
}
}
就是这样!
了解更多:如何使用 PowerShell 分配 Microsoft 365 许可证 »
结论
您学习了如何使用 PowerShell 添加电子邮件地址。如果您只想添加单个邮箱的电子邮件地址,可以使用 Exchange 管理中心或 PowerShell。但是,使用 PowerShell 更改多个邮箱的主 SMTP 地址和辅助电子邮件地址会更快。
您喜欢这篇文章吗?您可能还喜欢管理 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