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

[玩转系统] proxyAddresses - 导出、修改、更新、删除

作者:精品下载站 日期:2024-12-14 13:26:23 浏览:15 分类:玩电脑

proxyAddresses - 导出、修改、更新、删除


[玩转系统] proxyAddresses - 导出、修改、更新、删除

proxyAddresses 是 Active Directory (AD) 中的一个多值属性,用于用户、组和联系人以促进邮件传送。

要使用 PowerShell 配置此属性,您需要 PowerShell 的 ActiveDirectory 模块。该模块是 RSAT(远程服务器管理工具)的一部分,您需要激活(或根据您的操作系统版本下载)。默认情况下,它在域控制器上可用。

在开始编辑 proxyAddresses 属性之前,您应该了解以下内容:

  • 您必须在主(发送)邮件别名前添加大写“SMTP:”前缀
  • 仅允许一个值/别名具有大写“SMTP:”前缀
  • 您必须为辅助邮件别名添加小写“smtp:”前缀
  • 不允许有重复值(在所有 AD 对象中)
  • 根据 RFC 5322,邮件地址必须是有效的 SMTP 地址
  • 此属性的错误配置可能会中断收件人的邮件传送
  • Active Directory 不会对您输入/更新/删除的值进行完整性检查
  • 这是一个多值属性,错误的命令可能会无意中覆盖现有值

使用 Easy365Manager,您可以直接从 AD 用户和计算机配置 proxyAddresses:

但本文稍后会详细介绍这一点。

现在,让我们启动 PowerShell!

将代理地址导出到 CSV

使用以下脚本导出所有 AD 对象的所有代理地址。该脚本为每个 AD 对象的每个 proxyAddresses 属性值的每个单独值生成一行。这意味着您将为具有一个主 SMTP 别名和三个辅助 SMTP 别名的用户提供四行。

Import-Module ActiveDirectory
"DN;proxyAddress" | Out-File ".\proxyAddressesBackup.txt"
$Objects = Get-ADObject -LDAPFilter "(proxyAddresses=*)" -Properties proxyAddresses
ForEach ($Object In $Objects) {
  ForEach ($proxyAddress in $Object.proxyAddresses) {
    $Output = $Object.distinguishedName + ";" + $proxyAddress
    Write-Host $Output
    $Output | Out-File ".\proxyAddressesBackup.txt" -Append
  }
}

(如果您不在 DC 上运行它,请确保您已通过 RSAT 安装了 PowerShell 的 Active Directory 模块)

该脚本的输出可能类似于以下内容:

CN=Hans Christian Oersted,OU=Denmark,DC=observatory,DC=local;smtp:[email protected]
CN=Hans Christian Oersted,OU=Denmark,DC=observatory,DC=local;smtp:[email protected]
CN=Hans Christian Oersted,OU=Denmark,DC=observatory,DC=local;SMTP:[email protected]
CN=Niels Bohr,OU=Denmark,DC=observatory,DC=local;smtp:[email protected]
CN=Niels Bohr,OU=Denmark,DC=observatory,DC=local;smtp:[email protected]
CN=Niels Bohr,OU=Denmark,DC=observatory,DC=local;SMTP:[email protected]
CN=Ole Roemer,OU=Denmark,DC=observatory,DC=local;SMTP:[email protected]
CN=Ole Roemer,OU=Denmark,DC=observatory,DC=local;smtp:[email protected]
CN=Ole Roemer,OU=Denmark,DC=observatory,DC=local;smtp:[email protected]
CN=Tycho Brahe,OU=Denmark,DC=observatory,DC=local;smtp:[email protected]
CN=Tycho Brahe,OU=Denmark,DC=observatory,DC=local;smtp:[email protected]
CN=Tycho Brahe,OU=Denmark,DC=observatory,DC=local;SMTP:[email protected]
CN=Tycho Brahe,OU=Denmark,DC=observatory,DC=local;smtp:[email protected]

将单个值添加到 proxyAddresses

以下脚本将单个值导入到多值 proxyAddresses 属性。保留任何现有值。

Import-Module ActiveDirectory
$User = Get-ADUser ole.roemer -Properties proxyAddresses
$User.proxyAddresses.Add("smtp:[email protected]")
Set-ADUser -instance $User

如果您尝试导入同一对象上已存在的值,您将收到错误(但如果该值存在于另一个对象上,则不会引发错误!)。

从 proxyAddresses 中删除单个值

以下脚本将从 proxyAddresses 属性中删除单个条目。保留任何其他现有值。

Import-Module ActiveDirectory
$User = Get-ADUser ole.roemer -Properties proxyAddresses
$User.proxyAddresses.Remove("smtp:[email protected]")
Set-ADUser -instance $User

使用 LDAP 查询过滤代理地址

如果要过滤掉配置了某些 proxyAddresses 的 AD 对象,可以使用 LDAP 过滤器。

例如,让我们识别具有“.local”邮件地址的所有用户(具有 .local proxyAddress 将阻止用户使用 Azure AD Connect 复制到 Azure):

Import-Module ActiveDirectory
$Users = Get-ADUser -LDAPFilter "(proxyAddresses=*.local)" -Properties proxyAddresses
ForEach ($User In $Users) {
  ForEach ($proxyAddress in $User.proxyAddresses) {
    If($proxyAddress -Like '*.local'){
      Write-Host $User.distinguishedName `t $proxyAddress
    }
  }
}

这将为您提供类似于以下内容的输出:

CN=Ole Roemer,OU=Denmark,DC=observatory,DC=local          smtp:[email protected]
CN=Tycho Brahe,OU=Denmark,DC=observatory,DC=local         smtp:[email protected]

使用 GUI 工具配置代理地址

我希望上面的代码片段能够满足您在搜索和操作多值 proxyAddresses 属性内容方面的需求。

对于某些日常配置任务,使用图形用户界面 (GUI) 通常更方便。您可以使用多种选项来使用 GUI 配置 proxyAddresses 属性:

Easy365管理器

到目前为止,配置 proxyAddresses(以及任何其他 AD 邮件属性)的最简单方法是使用 Easy365Manager。

使用 Easy365Manager,您无需在多个管理工具之间切换:由于用户和组属性上有额外的选项卡,AD 用户和计算机工具中的一切皆有可能。

借助 Easy365Manager,您可以从使用本机用户管理工具 Active Directory 用户和计算机中受益。 Easy365Manager 向用户属性添加了两个新选项卡,其中包括 proxyAddresses 编辑器。它具有固定价格,并且您可以将其安装在无限数量的管理服务器和 PC 上。

如果您完全迁移到 Office 365,则可以通过删除本地 Exchange Server 轻松抵消 Easy365Manager 许可证成本,并节省使用单一直观工具的时间。

[玩转系统] proxyAddresses - 导出、修改、更新、删除

Easy365Manager 主动检查您输入的值是否有效:

  • 在您的域中检查唯一性
  • 只允许使用一个主 SMTP 地址
  • 仅允许有效的 SMTP 格式

这可确保您的 proxyAddresses 配置始终正确,并可能节省您的故障排除时间。

要查看 Easy365Manager 的完整功能列表,请查看此。

您可以在此处下载功能齐全的 30 天试用版。

Active Directory 用户和计算机

要使用 Active Directory 用户和计算机配置 proxyAddresses,您必须启用“高级功能”。然后,可以在“属性编辑器”选项卡的“原始”属性列表中访问该属性。

[玩转系统] proxyAddresses - 导出、修改、更新、删除

[玩转系统] proxyAddresses - 导出、修改、更新、删除

AD 用户和计算机不会检查您在 proxyAddresses 中输入的值的有效性。

ADSI编辑

在 ADSIEdit 中,您可以看到所有对象属性的表示形式,包括 proxyAddresses 属性。与格式较差的 Active Directory 用户和计算机相比,这是一种甚至“原始”的体验,因此您必须小心。

[玩转系统] proxyAddresses - 导出、修改、更新、删除

ADSIEdit 不会检查您在 proxyAddresses 中输入的值的有效性。

交换管理中心

Exchange 管理中心 (EAC) 在将更改提交到 AD 之前通过合理的格式设置和逻辑检查来提供更好的体验。

[玩转系统] proxyAddresses - 导出、修改、更新、删除

然而,如果您将邮件迁移到 Office 365,则需要整个 Exchange 服务器。

尽管本地 Exchange 许可证是免费的,但管理、故障排除和病毒风险的间接成本可能会很高。

此外,由于您在 Active Directory 用户和计算机工具中管理用户和组,因此切换到 EAC 来更改用户和组既不方便又耗时。

概括

如您所见,有很多选项可以管理您的电子邮件属性。你更喜欢哪一种就看个人口味了。

如果您有兴趣尝试 Easy365Manager,可以在 5 分钟内下载、安装和配置免费且功能齐全的 30 天试用版。

如果您对 Easy365Manager 有任何疑问,请参阅我们的常见问题解答,或者随时联系我们的支持团队。

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

取消回复欢迎 发表评论:

关灯