从 Microsoft Exchange 中提取电子邮件地址

从 Microsoft Exchange 中提取电子邮件地址

我们有一台 Microsoft Exchange 服务器,其中包含所有 Active Directory 用户的大量电子邮件地址信息。提取该电子邮件列表以便将其附加到 Active Directory 的用户帐户的最佳方法是什么。(我知道如何导入 AD)我只是不知道如何在没有 Exchange 管理外壳的情况下从 Microsoft Exchange 导出信息。

我无法访问 Exchange 管理 Shell,也不知道如何获取它。我以为可以通过 Power-Shell/C# 来实现,但老实说,我不确定要调用什么才能开始。有没有人有什么想法,或者我可以阅读一些内容来开始?

答案1

Exchange 管理 shell 只是加载了 Microsoft.exchange 模块/配置的 powershell。您可以使用以下链接中的命令使用 powershell 进入 exchange;

https://docs.microsoft.com/en-us/powershell/exchange/exchange-eop/connect-to-exchange-online-protection-powershell?view=exchange-ps

当我不需要进入邮件服务器时,我经常使用这种方法,但您必须确保启用了 PSRemoting,并且还需要设置一些其他先决条件(链接中详细说明)。您可能需要根据 AD 身份验证的设置方式切换身份验证方法(最常见的是 Kerberos/basic)

除此之外,您还可以在收件人配置 -> 邮箱部分从 Exchange 导出列表,右侧窗格中有一个导出列表功能。这会导出显示名称、OU、邮箱类型、电子邮件地址等,然后您应该能够以自己喜欢的方式对其进行格式化,但它不像 powershell 方法那样精细,在 powershell 方法中,您可以精确指定要导出的内容。

此外,如果您可以为用户电子邮件地址定义逻辑,那么您可以使用 powershell 脚本将电子邮件地址导入 AD,前提是它遵循一致的格式,例如,[电子邮件保护],因此在这种方法中甚至不需要触碰邮件服务器。如果是这种情况,您需要使用 ForEach 对象导入,然后查询 AD 以提取每个名字、姓氏,然后将这些字符串连接到导入函数中以显示“$Firstname, $Surname”@company.co.uk,它将循环遍历每个用户并使用 Set-ADUser cmdlet 应用电子邮件地址。

答案2

如果您可以访问 Exchange 管理中心,您还可以从 EAC 导出 SMTP 电子邮件地址,它将提供导出数据的 UI。

在此处输入图片描述

在此处输入图片描述

相关内容