Exchange 2016启用远程邮箱后新增SMTP地址并设为默认的PowerShell语法咨询
Exchange 2016 远程邮箱配置自定义SMTP默认地址方案
语法可行性说明
你此前使用的两段Set-RemoteMailbox语法完全可以在当前场景直接复用,你自己尝试的管道写法仅存在冗余参数问题,调整后即可正常使用。
核心注意事项
- 必须先禁用
EmailAddressPolicyEnabled,否则Exchange默认地址策略会自动覆盖你手动设置的主SMTP地址,导致配置失效 - 管道传递远程邮箱对象时,不需要再额外传入
$username作为身份参数,避免参数冲突
完整整合脚本
将原有启用远程邮箱的逻辑和新增SMTP配置逻辑整合后的完整脚本如下:
# 获取要迁移的AD用户名 $username = Read-Host -Prompt "`n 请输入需要迁移的AD用户名" # 定义要设置的自定义主SMTP地址 $customPrimarySmtp = "$username@MYORG.com" # 启用远程邮箱,配置微软365路由地址 Enable-RemoteMailbox -Identity $username -RemoteRoutingAddress "$username@MYORG.mail.onmicrosoft.com" # 等待本地Exchange与AD配置同步完成 Start-Sleep -Seconds 30 # 新增自定义SMTP地址并设置为默认主地址 Set-RemoteMailbox -Identity $username ` -EmailAddresses @{add = $customPrimarySmtp} ` -EmailAddressPolicyEnabled $false ` -PrimarySmtpAddress $customPrimarySmtp
可选管道写法(调整后的正确版本)
如果你偏好使用管道传递对象,正确写法如下:
Get-RemoteMailbox $username | Set-RemoteMailbox ` -EmailAddresses @{add = "$username@MYORG.com"} ` -EmailAddressPolicyEnabled $false ` -PrimarySmtpAddress "$username@MYORG.com"
配置验证
执行完成后运行以下命令确认配置是否生效:
Get-RemoteMailbox $username | Select-Object PrimarySmtpAddress, EmailAddresses
验证标准:返回结果的
PrimarySmtpAddress为你设置的自定义地址,EmailAddresses列表中同时包含该自定义地址和*@MYORG.mail.onmicrosoft.com路由地址即为配置成功。
内容的提问来源于stack exchange,提问作者sj1986
相关产品推荐
相关产品推荐

