[玩转系统] 使用 PowerShell 管理电子邮件地址 |办公室365
作者:精品下载站 日期:2024-12-14 08:40:18 浏览:13 分类:玩电脑
使用 PowerShell 管理电子邮件地址 |办公室365
当前文章和下一篇文章作为“PowerShell 命令参考”创建,用于与使用 PowerShell 的“在基于 Office 365 和 Exchange Online 的环境中管理电子邮件地址”主题相关的各种任务。
使用 PowerShell 将电子邮件地址添加到 Exchange Online 收件人
“使用设置邮箱命令添加电子邮件地址 |邮箱收件人
Exchange Online 包括多种类型的收件人,例如“邮箱收件人”、“组收件人”、“联系人收件人”、“公用文件夹收件人”等。
大多数与添加新电子邮件地址任务相关的 PowerShell 命令示例都与 Exchange Online“邮箱收件人”相关。
我们用于添加或删除“邮箱收件人”的电子邮件地址的 PowerShell cmdlet 是 PowerShell 命令 Set-Mailbox。
存储有关电子邮件地址的信息的属性
有关 Exchange Online“邮箱收件人”的电子邮件地址(以及其他类型的地址)的信息,存储在“EmailAddress 属性”中,该属性充当逻辑容器,用于与该邮件关联的所有电子邮件地址。 “邮箱收件人”的。
例如,“EmailAddress属性”包含有关主电子邮件地址、代理电子邮件地址、x500地址、SIP地址等的信息。
附加“邮箱收件人”属性,其中包含有关收件人的信息。主要电子邮件地址是 WindowsEmailAddress 属性。
尽管有关主电子邮件地址的信息出现在“EmailAddress 属性”中,但我们将使用 WindowsEmailAddress 属性来执行需要更新主电子邮件地址的任务。
不同类型的 Exchange Online 用户邮箱电子邮件地址
大多数时候,术语“电子邮件地址”被翻译为“SMTP 电子邮件地址”。 Exchange Online 收件人可以有其他类型的“地址”,例如 x500 电子邮件地址和 SIP 地址。我们将简要介绍这种类型的“地址”。
向 Exchange Online 收件人添加电子邮件地址的两种方法
添加新电子邮件地址的任务可以通过两种方法来实现:
1.使用默认的 Set-Mailbox 命令语法
这是最不推荐的方法,因为当我们使用此选项时,新电子邮件地址将“覆盖”现有电子邮件地址并删除现有电子邮件地址,例如
代理电子邮件地址。
2.使用设置邮箱命令+“@{add”方法
这是更优选的方法,因为当我们使用“@{add”方法时,新的电子邮件地址将“加入”现有的收件人电子邮件地址,而不是替换和删除现有的电子邮件地址。
替换/更新现有的主电子邮件地址 |邮箱收件人
方法 1#2 - 添加(替换)主电子邮件地址 |使用默认的 Set-Mailbox 命令语法
如果我们使用带有参数“-EmailAddress”的 PowerShell Set-Mailbox 并指定电子邮件地址,PowerShell 将使用提供的电子邮件地址来替换现有的主电子邮件地址。
之前的主电子邮件地址将保存为:代理电子邮件地址。所有现有收件人电子邮件地址将被删除!
如前所述,这是最不优选的方法。
替换现有的主要电子邮件地址 |方法1#2
PowerShell命令语法:
Set-Mailbox <Identity> -EmailAddress <NEW primary E-mail address>
PowerShell 命令示例:
Set-Mailbox "Bob" -EmailAddress [email protected]
方法 2#2 - 添加(替换)主电子邮件地址 |设置属性 - WindowsEmailAddress
这是首选方法,因为使用此方法时,不会删除 Exchange Online 收件人的其他电子邮件地址。
在此方法中,我们“寻址”名为 WindowsEmailAddress 的其他 Exchange Online 邮箱属性。
Exchange Online 邮箱属性 - WindowsEmailAddress,“包含”收件人的主电子邮件地址。
如果我们设置 WindowsEmailAddress 属性中存储的电子邮件地址的值,则 Exchange Online 收件人主电子邮件地址也会更新。
替换现有的主要电子邮件地址 |方法2#2
PowerShell命令语法:
Set-Mailbox <Identity> -WindowsEmailAddress <NEW primary E-mail address>
PowerShell 命令示例:
Set-Mailbox "Bob" -WindowsEmailAddress [email protected]
使用“@{add”方法添加额外的电子邮件地址(代理电子邮件地址)
当使用“@{add”PowerShell 方法时,我们指定的电子邮件地址将作为附加电子邮件地址添加到现有的“电子邮件地址数组”中。
要向收件人添加额外的电子邮件地址而不“影响”现有电子邮件地址,我们可以使用以下语法:
添加代理电子邮件地址
PowerShell命令语法:
Set-Mailbox <identity> -EmailAddresses @{add="<E-mail address>"}
PowerShell 命令示例:
Set-Mailbox "Angelina" -EmailAddresses @{add="[email protected]"}
添加多个代理电子邮件地址
如果我们需要添加多个电子邮件地址,我们可以用逗号分隔每个电子邮件地址。
PowerShell 命令示例:
Set-Mailbox "Angelina" -EmailAddresses @{add="[email protected]","[email protected]"}
添加其他类型的地址
添加或更新SIP地址|邮箱收件人
如果我们需要添加 SIP 地址或替换现有的 SIP 地址,我们可以使用以下 PowerShell 命令语法:
PowerShell命令语法:
Set-Mailbox <identity> -EmailAddresses SIP:<SIP Address>
PowerShell 命令示例:
Set-Mailbox "Angelina" -EmailAddresses SIP:[email protected]
添加或更新 x500 电子邮件地址 |邮箱收件人
PowerShell命令语法:
$User=Get-Mailbox <Identity>
$User.EmailAddresses+="<X.500 Email Address>"
Set-Mailbox <Identity> -EmailAddresses $User.EmailAddresses
PowerShell 命令示例:
$User=Get-Mailbox John
$User.EmailAddresses+="X500:/O=ORG /OU=FIRST ADMINISTRATIVE GROUP/CN=RECIPIENTS/CN=XX"
Set-Mailbox John -EmailAddresses $User.EmailAddresses
在目录同步环境中更新 Exchange Online 邮箱属性
如果您的基础架构基于目录同步环境或Exchange 混合环境,我们无法使用“Exchange Online PowerShell”来实施配置更新“云对象”,例如 Exchange Online 收件人邮箱。
在这种类型的场景中,我们需要从本地环境运行各种电子邮件地址管理任务。
例如,如果我们有 Exchange 混合环境,并且需要更新收件人的电子邮件地址,例如“远程邮箱收件人”(拥有 Exchange Online 邮箱的收件人),我们将需要使用“Exchange 本地 PowerShell 控制台。”
要更新从 Exchange 本地同步的 Exchange Online 邮箱收件人的主电子邮件地址,我们需要使用以下语法从 Exchange 本地 PowerShell 控制台运行命令:
PowerShell命令语法:
Set-RemoteMailbox <Mailbox> -EmailAddresses <Primary E-mail address> -EmailAddressPolicyEnabled $false
PowerShell 命令示例:
Set-RemoteMailbox "John" -EmailAddresses [email protected] -EmailAddressPolicyEnabled $false
使用PowerShell 实现批量操作|字首
在接下来的部分中,我们将回顾使用“批量模式”更新现有电子邮件地址或添加其他电子邮件地址的各种场景。
批量过程可以被视为一个非常强大的工具,但同时,时间可以被视为一个“危险工具”,因为我们执行的更新可能会影响所有现有的 Exchange 收件人。
因此,我的建议使用“测试邮箱”并使用 PowerShell 参数“Whatif”来测试批量操作。
定义“收件人数组”的两种方法
在以下部分中,我们回顾两种使用批量模式的方法:
- 方法 1 - 通过使用存储 PowerShell 命令(例如 Get-Mailbox)内容的变量来定义收件人“数组”。
- 方法 2 - 通过使用存储从 CSV 文件“获取”的内容的变量来定义收件人“数组”,其中包括我们要更新其电子邮件地址的收件人的信息。
场景描述。
我们审查的示例将基于以下场景:
- 我公司使用公共域名 - o365info.com
- 我们公司购买了额外的域名 - o365pilot.com
目前,所有公司用户的电子邮件地址均使用域名后缀“o365pilot.com”。
我们的任务是:
- 场景 1 - 将现有主电子邮件地址替换为使用新域名 (o365pilot.com) 的新主电子邮件地址
- 场景 2 - 使用新域名 (o365pilot.com) 添加额外的电子邮件地址(代理电子邮件地址)
1. 使用新域名后缀向所有邮箱收件人添加额外的别名电子邮件地址 |批量模式
在下一节中,我们回顾使用 PowerShell 批量脚本的过程,该脚本将执行以下任务:
为我们的每个 Exchange Online 邮箱收件人添加一个新的别名电子邮件地址,该地址使用新的域名后缀。
在我们的场景中,附加电子邮件地址(代理电子邮件地址)基于以下结构:
- 新电子邮件地址“别名”(左侧部分)将与收件人主要电子邮件地址的别名相同。
- 电子邮件地址后缀(电子邮件地址的右侧部分)将使用“新域名
名称后缀 - “o365pilot.com”。
使用特定域名后缀添加新的代理电子邮件地址。
$Domainsuffix = Read-Host "Type the name of the Domain name suffix"
$AllMailboxes = Get-Mailbox -ResultSize Unlimited
Foreach ($Mailbox in $AllMailboxes) {
# Creating NEW E-mail address that contracted in the following way: Take the existing recipient Alias name + use the NEW Domain name as a domain suffix + "Bind" the Alias name + the NEW Domain name suffix.
$NewAddress = $Mailbox.Alias + "@$Domainsuffix"
# "Store" all existing E-mail addresses + add the NEW E-mail address as an additional E-mail address.
$Mailbox.EmailAddresses += $NewAddress
# Assign the NEW E-mail address to the existing Exchange Online recipient
Set-Mailbox -Identity $Mailbox.Alias -EmailAddresses $Mailbox.EmailAddresses #-whatif
}
2. 将主电子邮件地址域名后缀替换为新域名后缀 |批量模式
在下一节中,我们回顾使用 PowerShell 批量脚本的过程,该脚本将执行以下任务:
用新的主电子邮件地址替换现有的主电子邮件地址,该地址使用每个 Exchange Online 邮箱收件人都有不同的域名后缀。
我们被要求落实以下任务:
- 将使用域名后缀“o365info.com”的当前主电子邮件地址替换为使用域名后缀 - o365pilot.com
- Exchange 收件人的别名(电子邮件地址的右侧部分)将保持不变。换句话说,我们希望保留当前主电子邮件地址中的现有别名,并用新的域名后缀替换“左侧部分”(域名后缀)。
- 之前的主电子邮件地址不会被删除,而是保存为别名
电子邮件地址(附加电子邮件地址)。 - 收件人的所有现有别名电子邮件地址和其他地址(例如 SIP 地址)将被保留。
将主电子邮件地址域名后缀替换为新域名后缀。
Foreach ($Mailbox in $AllMailboxes) {
# Creating NEW E-mail address that contracted in the following way: Take the existing recipient Alias name + use the NEW Domain name as a domain suffix + "Bind" the Alias name + the NEW Domain name suffix.
$NewAddress = $Mailbox.Alias + "@o365pilot.com"
Set-Mailbox -Identity $Mailbox.Alias -WindowsEmailAddress $NewAddress #-whatif
}
实施批量操作 - 使用 CSV 文件 |字首
在下一节中,我们将回顾几个实现管理“电子邮件地址”任务的场景,例如 - 通过从 CSV 文件导入信息来添加电子邮件地址。
CSV 文件充当保存数据的“逻辑容器”。
在我们的场景中,CSV 用作保存有关 Exchange Online 收件人及其我们要添加的电子邮件地址的数据的容器。
我们在场景中使用的 CSV 文件的结构
CSV 文件中的每一列都有标题名称。
当我们需要处理存储在特定列中的信息时,我们向 PowerShell 命令提供特定列标题的名称。
从技术上来说,CSV文件只是一个文本文件,我们可以使用简单的文本编辑器来编辑文件内容。
大多数时候,我们会使用其他应用程序(例如 Microsoft Excel)来编辑 CSV 文件,因为使用 Excel 编辑数据更加方便。
在下面的屏幕截图中,我们可以看到在 Excel 中打开的 CSV 文件的示例。
CSV 文件列标题名称
使用 CSV 文件时,我们可以“选择”任何适合我们需要的列标题名称。建议选择有意义的列标题名称,并且不要使用任何空格。
CSV 文件包含三列:
- 名为 - 收件人(数字 1)的列包含我们的“收件人身份”。从技术上讲,我们可以使用各种收件人属性来定义“收件人身份”。
例如,收件人别名、收件人电子邮件地址、收件人显示名称等等。在我们的具体示例中,我们使用收件人“显示名称”作为收件人身份。 - 名为 - PrimaryEmail 的列(数字 2)包含我们希望设置为“主要电子邮件地址”的用户电子邮件地址”。
- 名为 - AliasEmail 的列(数字 3)包含我们希望设置为
“别名 E”的用户电子邮件地址-邮件地址。”
从 CSV 文件导入信息
大多数时候,我们通过定义一个包含 PowerShell 命令内容的变量(Import-CSV)来“获取”存储在 CSV 文件中的信息。
在我们的示例中,我们定义了一个名为 - $Recipients 的变量,它将“包含”我们导入的 CSV 文件的内容。
$Recipients = Import-Csv C:\Temp\Recipient-E-mail-addresses.csv
从 CSV 文件导出信息
“从 CSV 文件导入信息”的操作基于我们将所需信息导出到 CSV 文件的预备步骤。您可以在文章使用 PowerShell 导出和显示有关电子邮件地址的信息 | 中阅读有关我们用于将信息导出为各种类型的文件格式的 PowerShell 语法过程的更多信息。办公室 365 |第 6 部分#13。
关于“我们导出到文件的信息是什么”的主题,您可以阅读文章使用 PowerShell 显示有关电子邮件地址的信息 |使用哈希表和自定义表达式自定义输出 |办公室 365 |第 7#13 部分。
1. 通过从 CSV 文件导入信息来更新主 + 代理电子邮件地址 |批量模式
在下一个示例中,我们需要满足以下要求:
- 用存储的新主电子邮件地址替换 (删除)现有主电子邮件地址在 CSV 文件中。
- 用存储在中的新别名电子邮件地址替换 (删除)现有别名电子邮件地址CSV 文件。
将主电子邮件地址替换为 CSV 文件中存储的新主电子邮件地址。
$Recipients = Import-Csv C:\Temp\Recipient-E-mail-addresses.csv
Foreach ($Mailbox in $Recipients) {
Set-Mailbox -Identity $Mailbox.Recipient -EmailAddresses $Mailbox.PrimaryEmail, $Mailbox.AliasEmail # -WhatIf
}
2. 通过从 CSV 文件导入信息来更新主 + 代理电子邮件地址 |保留现有收件人电子邮件地址 |批量模式
在下一个示例中,我们需要满足以下要求:
- 用存储的新主电子邮件地址替换 (删除)现有主电子邮件地址在 CSV 文件中。
- 添加 来自 CSV 文件的新别名电子邮件地址。新电子邮件地址将作为附加电子邮件地址添加到现有收件人电子邮件地址中。
请注意,与之前的场景相比,我们不希望删除收件人已有的现有别名电子邮件地址。相反,我们希望向现有的收件人电子邮件地址“数组”中添加一个额外的电子邮件地址。
用新域名后缀替换主电子邮件地址域名后缀。
$Recipients = Import-Csv C:\Temp\Recipient-E-mail-addresses.csv
Foreach ($Mailbox in $Recipients) {
Set-Mailbox -Identity $Mailbox.Recipient -EmailAddresses @{Add = $Mailbox.AliasEmail } # -WhatIf
}
3. 通过从 CSV 文件导入信息来添加多个代理电子邮件地址 |批量模式
在下一个场景中,我们需要向收件人添加存储在 CSV 文件中的其他代理电子邮件地址。
- CSV 文件将代理电子邮件地址存储在名为“AliasEmail”的列中。
- 收件人的姓名存储在名为“收件人”的列中。 ”
在下面的屏幕截图中,我们可以看到 CSV 文件的结构。
添加多个代理电子邮件地址 - 从 CSV 文件导入。
Import-Csv C:\temp\Recipient-Proxy-E-mail-addresses.csv | ForEach-Object {
$Recipient = $_.Recipient
$ProxyAddresses = $_.AliasEmail -split ';'
Set-Mailbox -Identity $Recipient -EmailAddresses @{add = $ProxyAddresses }
}
在下一篇文章中,我们将了解使用 PowerShell 管理电子邮件地址 |办公室 365 |命令参考|第 2 部分#13。
猜你还喜欢
- 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