我很反感将邮件别名(辅助邮件地址?)添加到邮件联系中。我能够添加主SMTP和所有其他属性,但出于某种原因,我是带别名的strggelig。
这是我正在运行的命令。如果我用手动输入的字符串替换变量(例如"test@test.com"
而不是$someAddress
),该命令可以正常工作,如下面的示例所示。此命令执行不工作(甚至找不到联系人):
Get-Mailcontact -filter {WindowsEmailAddress -eq $SomeonesWindowsEmailAddress} -Domaincontroller $domainController | Set-Mailcontact -EmailAddresses @{ Add = "smtp:$SomeAddress","SMTP:$PrimaryAddress" } -domaincontroller $domainController
#These are example variables only, but the output of the variables would be something like:
#$SomeonesWindowsEmailAddress outputs test.test@test.com
#$SomeAddress outputs test.alias@test.com
但是,这很好用:
Get-Mailcontact -filter {WindowsEmailAddress -eq "test.test@test.com"} -Domaincontroller $domainController | Set-Mailcontact -EmailAddresses @{ Add = "smtp:test.alias@test.com","SMTP:test.primary@test.com" } -domaincontroller $domainController
我也尝试过这样添加:
$script:ADContact_attrib = @{
'Name' = $contact_CN
'Displayname' = $fullName
'PrimarySMTPAddress' = $completeMailAddress
'Emailaddresses' = $SomeAddress
'ExternalEmailAddress' = $forwardMailAddress
'FirstName' = $tb_f.txt
'LastName' = $tb_e.txt
'OrganizationalUnit' = $OU
}
New-MailContact @ADContact_attrib -verbose -domaincontroller $domainController
这实际上适用于主smtp,即使它在变量中,但它不会将EmailAddresses
部分添加到mailcontact。
(Powershell studio 2016)
答案 0 :(得分:1)
根据Microsoft Technet,您无法在同一命令中使用PrimarySMTPAddress
和EmailAddresses
:
PrimarySmtpAddress参数指定主要返回电子邮件 用于收件人的地址。如果可以的话 cmdlet,您不能使用EmailAddresses和PrimarySmtpAddress 同一命令中的参数。默认情况下,主要地址是 与ExternalEmailAddress参数值相同。
所以我建议做一些像
这样的事情Set-MailContact -Identity "$tb_l, $tb_f" -emailaddresses @{add=$someaddress}
虽然身份会根据您的环境而改变。在我的,一切都是最后,第一。