有问题将mailali添加到mailcontact与powershell

时间:2017-07-18 12:01:06

标签: powershell

我很反感将邮件别名(辅助邮件地址?)添加到邮件联系中。我能够添加主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)

1 个答案:

答案 0 :(得分:1)

根据Microsoft Technet,您无法在同一命令中使用PrimarySMTPAddressEmailAddresses

  

PrimarySmtpAddress参数指定主要返回电子邮件   用于收件人的地址。如果可以的话   cmdlet,您不能使用EmailAddresses和PrimarySmtpAddress   同一命令中的参数。默认情况下,主要地址是   与ExternalEmailAddress参数值相同。

所以我建议做一些像

这样的事情
Set-MailContact -Identity "$tb_l, $tb_f" -emailaddresses @{add=$someaddress}

虽然身份会根据您的环境而改变。在我的,一切都是最后,第一。