Meiliaadresside lisamine on tavaliselt lihtne. Kui seda on vaja paljudele, siis muudame meiliaadreside poliitikat; kui seda on vaja üksikutele, siis lihtsalt lisame.
Eemaldamisega on lugu natuke keerulisem. Kõigepealt tuleb üles leida adressaadid, kellel on sobiv aadress. Üldiselt sobib selleks käsk Get-Recipient, aga teeme seda lihtsuse huvides ainult postkastidega:
$EmailFilter = "*@minu.ee" $kastid = Get-Mailbox -ResultSize Unlimited | Where-Object EmailAddresses –Like $emailFilter
Kui adressaadid leitud, siis tuleb üles leida ka konkreetne eemaldamist vajav aadress. Seda peamiselt seetõttu, et olemasolevate aadresside loendist ei saa eemaldada aadressi mustri järgi, vaid tuleb esitada täisaadress:
$kastid | Foreach-Object { foreach ($address in $_.emailaddresses) { if ($address -like $EmailFilter) { New-Object PSObject -Property @{Name=$_.name; Alias=$_.alias ; SmtpAddress=$address} } } }
Tulemuseks kuvatakse hetkel meile kõik leitud meiliaadressid koos postkasti nimega, mille küljes see aadress on. Nii et nüüd jääb üle asendada kuvamine kustutamisega. Siin saab ära kasutada Exchange serveri üldist lähenemist: kui atribuudil võib olla mitu väärtust, siis saame olemasolevate väärtuste hulgas teha muutusi (lisada, eemaldada, asendada)
Set-Mailbox -Identity $_.id -EmailAddresses @{remove=$address}
Ülaltoodud näide töötab Exchange 2010..2016 peal. Exchange 2007-l ei olnud veel seda mainitud üldist lähenemist loodud, seega peab seal tegema natuke teistmoodi:
$NewAddresses = $_.emailaddresses - $address Set-Mailbox -Identity $_.id -EmailAddresses $NewAddresses
Kui nüüd peaks vajadus tekkima eemaldada aadresse gruppide, kontaktide või muude adressaatide küljest, siis tuleb lihtsalt asendada adressaatide leidmise ja muutmise käsud. Muu loogika peaks samaks jääma.