Event Sink -> Transport Agent, vagy mégse
By SUF
A Technet fórumon volt egy kérdés ami egy Outlook hibára vonatkozott (megosztott postafiókban a jogosult nem látja a privátnak jelölt levelet még akkor sem, ha ezt megengedtük neki). A környezet Exchange 2003. Egy megoldási javaslatként (vagyis inkább a hiba megkerüléseként) feldobtam, hogy Ãrok egy Event Sink-et ami leveszi a megosztott postafiókba beesÅ‘ levelekrÅ‘l a privát jelzést.
Útközben kiderült, hogy éppen Exchange 2007-re migrálnak. Ó, semmi gond, akkor nem Event Sink-et Ãrunk, hanem Transport Agent-et. Vagy mégsem?
Az Exchange 2007-ben létezik a Transport Rule intézménye. Meg lehet oldani a fenti problémát ezzel?
Próbáljuk meg!
Itt van az a EMS Script ami a megoldást adja:
$DGOU = "test.local/Users" $NoSensitiveDGName = "No Sensitive Message" $NoSensitiveDGAccount = "nsdg"
New-DistributionGroup -Name $NoSensitiveDGName -OrganizationalUnit $DGOU -SAMAccountName $NoSensitiveDGAccount -Type "Distribution" $condition = Get-TransportRulePredicate SentToMemberOf $condition.Addresses = @(( Get-DistributionGroup $NoSensitiveDGName )) $action = Get-TransportRuleAction RemoveHeader $action.MessageHeader = "Sensitivity" New-TransportRule -Name "RemoveSensitivity" -Conditions @($condition) -Action @($action) -Enabled: $true
Az eredeti feladatnál kicsit tovább mentem. a fenti script létrehoz egy disztribuciós listát. Aki ennek a listának a tagja lesz annak a bejövő leveleiről lekerül a privát jelzés (valamint a Personal és a Confidential is).
A fenti feladat kapcsán eszembe jutott egy régi Event Sink. Karsai Peti Ãrta valamikor a távoli múltban. Ez a Sink képes Exchange 2003 alatt leszedni a levelekrÅ‘l az olvasási értesÃtÅ‘t, ami sokakat zavar.
Kicsit átÃrtam az elÅ‘zÅ‘ EMS scriptet, Ãgy alkalmas lett olvasási értesÃtÅ‘k eltávolÃtására. Természetesen ez is egy disztribúciós lista tagsággal kontrollálható:
$DGOU = "test.local/Users" $NoReceiptDGName = "No Read Receipt" $NoReceiptDGAccount = "nrr"
New-DistributionGroup -Name $NoReceiptDGName -OrganizationalUnit $DGOU -SAMAccountName $NoReceiptDGAccount -Type "Distribution" $condition = Get-TransportRulePredicate SentToMemberOf $condition.Addresses = @(( Get-DistributionGroup $NoSensitiveDGName )) $action1 = Get-TransportRuleAction RemoveHeader $action1.MessageHeader = "Disposition-Notification-To" $action2 = Get-TransportRuleAction RemoveHeader $action2.MessageHeader = "Read-Receipt-To" New-TransportRule -Name "RemoveReadReceipt1" -Conditions @($condition) -Action @($action1) -Enabled: $true New-TransportRule -Name "RemoveReadReceipt2" -Conditions @($condition) -Action @($action2) -Enabled: $true
By SUF
április 6, 2009 at 12:49
Tags: EMS, powershell Posted in: exchange


Leave a Reply