デフォルトの受信者ポリシーによって誤って内部SMTPアドレスが割り当てられるExchange2010メール連絡先が数千あります。
次のコマンドを使用してこれらのアドレスを削除し(プライマリSMTPを維持)、受信者ポリシーからの自動更新を無効にして、SMTPアドレスが再度作成されないようにしようとしています。
Get-MailContact -OrganizationalUnit "domain.local/OU" -Filter {EmailAddresses -like *@domain.local -and name -notlike "ExchangeUM*"} -ResultSize unlimited -IgnoreDefaultScope | foreach {$contact = $_; $email = $contact.emailaddresses; $email | foreach {if ($_.smtpaddress -like *@domain.local) {$address = $_.smtpaddress; write-Host "Removing address" $address "from Contact" $contact.name; Set-Mailcontact -Identity $contact.identity -EmailAddresses @{Remove=$address}; $contact | set-mailcontact -emailaddresspolicyenabled $false} }}
ただし、次のエラーが発生します。
'-like'演算子の右側に値式を指定する必要があります。 1行目char:312 + Get-MailContact -OrganizationalUnit "domain.local/testou" -Filter {EmailAddresses -like "@ domain.local" -and name -notlike "ExchangeUM"} -ResultSize無制限-IgnoreDefaultScope | foreach {$ contact = $ ; $ email = $ contact.emailaddresses; $ email | foreach {if($。smtpaddress -like <<<< * @ domain.local){$ address = $ _ .smt paddress; write-Host "Removing address" $ address "from Contact" $ contact.name; Set-Mailcontact -Identity $ contact.ident ity -EmailAddresses @ {Remove = $ address}; $ contact}} + CategoryInfo:ParserError :( :) []、ParentContainsErrorRecordException + FullyQualifiedErrorId:ExpectedValueExpression
これを修正する方法について何か助けはありますか?
*@domain.local
の前後に引用符が必要です