Leider werden gesendete Nachrichten mittels Send-As aus Shared-Mailboxes von Exchange nicht in das entsprechende Postfach unter “gesendete Nachrichten” abgelegt. Diese Aufgabe wird daher nachfolgend automatisiert über die Aufgabenplanung durchgeführt. Dazu wird zunächst ein Service-Account angelegt und im Anschluss der eigentliche Task. Der Task wird täglich ausgeführt damit neu erstellte Shared-Mailboxes die Einstellungen übergeben bekommen. Der Zeitraum kann nach Belieben auf den gewünschten Zeitintervall angepasst werden.
Service Account anlegen
Es wird ein Service-Account (z.b. svc_exc_task, Passwort sollte natürlich nicht ablaufen) angelegt und in die AD-Gruppe “Recipient Management” aufgenommen:
Skript auf einen beliebigen Exchange Server erstellen:
Download:
[ddownload id=”2779″]
Skript ablegen unter: c:\scripts\SharedMailboxCopySentAs.ps1
Task anlegen
Als nächstes wird einen Task erstellt, der täglich um eine bestimmte Uhrzeit automatisch ausgeführt wird. Der Task wird der der Einfachheit halber via XML-Import erstellt.
Anschließend wird die Aufgabenplanung gestartet und “Aufgabe importieren…” ausgewählt:
Zum Pfad der XML-Datei navigieren:
Erstellter Task:
Service Account hinterlegen:
Zeitpunkt anpassen wenn gewünscht:
Überprüfen der aktuellen Einstellung:
Get-Mailbox -RecipientTypeDetails SharedMailbox | select name,messagecopy*
Task ausführen:
Test
Im letzten Schritt überprüfen wir, ob die Einstellung auf alle Shared-Mailboxes korrekt gesetzt sind:
Inhalt XML-Datei und Skript:
XML:
<?xml version="1.0" encoding="UTF-16"?> <Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task"> <RegistrationInfo> <Date>2018-10-12T12:46:10.1727203</Date> <Author>exchangeblogonline.de\eddie</Author> <Description>Get-Mailbox | ?{$_.RecipientTypeDetails -match "SharedMailbox"} | %{set-mailbox $_ -MessageCopyForSentAsEnabled $True} Get-Mailbox | ?{$_.RecipientTypeDetails -match "SharedMailbox"} | %{set-mailbox $_ -MessageCopyForSendOnBehalfEnabled $True}</Description> <URI>\Gesendete Nachrichten in Shared-Mailboxes ablegen</URI> </RegistrationInfo> <Triggers> <CalendarTrigger> <StartBoundary>2018-10-12T20:00:00</StartBoundary> <Enabled>true</Enabled> <ScheduleByDay> <DaysInterval>1</DaysInterval> </ScheduleByDay> </CalendarTrigger> </Triggers> <Principals> <Principal id="Author"> <UserId>DOMAIN\sa-taskex</UserId> <LogonType>Password</LogonType> <RunLevel>HighestAvailable</RunLevel> </Principal> </Principals> <Settings> <MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy> <DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries> <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries> <AllowHardTerminate>true</AllowHardTerminate> <StartWhenAvailable>false</StartWhenAvailable> <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable> <IdleSettings> <StopOnIdleEnd>true</StopOnIdleEnd> <RestartOnIdle>false</RestartOnIdle> </IdleSettings> <AllowStartOnDemand>true</AllowStartOnDemand> <Enabled>true</Enabled> <Hidden>true</Hidden> <RunOnlyIfIdle>false</RunOnlyIfIdle> <WakeToRun>false</WakeToRun> <ExecutionTimeLimit>P3D</ExecutionTimeLimit> <Priority>7</Priority> </Settings> <Actions Context="Author"> <Exec> <Command>powershell.exe</Command> <Arguments>-command ". "$env:ExchangeInstallPath\bin\RemoteExchange.ps1"; Connect-ExchangeServer -auto ; c:\scripts\SharedMailboxCopySentAs.ps1"</Arguments> </Exec> </Actions> </Task>
Skript:
Get-Mailbox | ?{$_.RecipientTypeDetails -match "SharedMailbox"} | %{set-mailbox $_ -MessageCopyForSentAsEnabled $True} Get-Mailbox | ?{$_.RecipientTypeDetails -match "SharedMailbox"} | %{set-mailbox $_ -MessageCopyForSendOnBehalfEnabled $True