当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 使用 PowerShell 管理电子邮件地址

作者:精品下载站 日期:2024-12-14 18:47:30 浏览:15 分类:玩电脑

使用 PowerShell 管理电子邮件地址


作为管理员,最常见的任务之一是查找、更改电子邮件地址或将电子邮件地址添加到用户邮箱。 PowerShell 使这项任务变得更加容易,您可以轻松找到电子邮件地址所属的用户并添加或删除别名。

在本文中,我将向您展示一些如何在 Exchange 或 Active Directory 中查找电子邮件地址或代理地址以及如何添加或删除它的提示。

查找电子邮件地址的所有者

我在这里使用 Exchange Online,因此首先我们需要连接到 Exchange Online。您可以使用此连接器脚本或运行以下代码:

#Create credential object
$credObject = Get-Credential
 
#Import the Exchange Online ps session
$ExchOnlineSession = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $credObject -Authentication Basic -AllowRedirection
Import-PSSession $ExchOnlineSession

查找电子邮件地址所有者的方法有多种,我们从 get-recipient cmdlet 开始。这将返回所有启用邮件的对象(邮箱、邮件用户、联系人、通讯组),因此这是开始搜索的最佳位置。

通过使用过滤器和通配符,我们可以搜索电子邮件地址的一部分:

Get-Recipient -Filter {EmailAddresses -like 'smtp:gr*' -or EmailAddresses -like 'gr*'}

在本例中,我们搜索以“gr”开头的电子邮件地址(注意末尾的 * 通配符)。我在邮件地址开头添加了“smtp:”,因为如果您的别名是通过 Active Directory 管理的,您会注意到它们以“smtp:”开头。

当然你也可以在前面添加通配符,但这会扩大搜索查询范围。

上面的命令将返回具有搜索名称或电子邮件地址中字母的对象的用户,但不会显示位置。因此,选择 EmailAddress 字段并将其展开以显示多值对象的所有值。

Get-Recipient -Filter {EmailAddresses -like 'smtp:gr*'} -Properties Name,Emailaddresses | select Name,Emailaddresses -ExpandProperty Emailaddresses

搜索 Active Directory 对象

如果您想检查或查找 Active Directory 对象(用户或组)的电子邮件地址,我们可以使用 get-ADObject 或 get-aduser cmdlet。首先我们需要导入ActiveDirectory模块:

Import-Module ActiveDirectory

我们可以使用下面的cmd在Active Directory中进行搜索。我们将根据邮件地址或代理地址过滤结果。通过使用通配符和类似的开关,我们可以搜索电子邮件地址的一部分。

Get-ADObject -Properties mail, proxyAddresses -Filter {mail -like "gr*" -or proxyAddresses -like "smtp:gr*"}

添加或删除 AD 用户的代理地址

使用 PowerShell,我们还可以轻松添加或删除用户的代理地址:

Set-ADUser -Identity user1 -Add @{Proxyaddresses="smtp:[email "}

删除它:

Set-ADUser -Identity user1 -Remove @{Proxyaddresses="smtp:[email "}

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯