====== Set-EmailAutoresponder.ps1 ====== ===== Allgemein ===== ===== Das Skript ===== Clear-Host if ([string](Get-PSSnapin Microsoft.PowerShell.Core).psversion.major -notlike "2") { Write-Host "`n`nFalsche Powershell-Version!`n" -ForegroundColor Red Write-Host "Das Skript muss direkt aus einer `"Exchange-ManagementShell`" aufgerufen werden.`nEin Aufruf aus einer Powershell mit eingebundemen Exchange-PS-SNAPIN führt zu Fehlern bei der Ausführung!`n`n" Exit } $FullName=Read-Host "`n`nName eingeben `"Vorname Nachname`" (mit Umlauten)" $UserName=Read-Host "`nBenutzername eingeben, i.d.Regel `"nachname.vorname`" (ohne Umlaute etc.)" $Mailbox=get-mailbox $UserName $datum=Read-Host "`nDatum an dem die Abwesenheit endet eingeben (TT.MM.JJJJ)" $DateDE=($datum | get-date -Format dd.MM.yyy).ToString() $DateUK=($datum | get-date -uFormat %m/%d/%Y).ToString() <# $forwardRecipient=Read-Host "`n`nWenn eine Weiterleitung eingerichtet werden soll, hier bitte den Empfängern eingaben. Ist keine Weiterleitung gewünscht, bitte leer lassen!`n(Ausschließlich Postfächer `"xyz@secunet.com`" werden akzeptiert!)" if ($forwardRecipient -like! "*@secunet.com") { $InternalMsg = "Sehr geehrte Damen und Herren,

bis zum "+$DateDE+" bin ich nicht im Hause. Ihre E-Mail wird nicht automatisch weitergeleitet und erst nach meiner Rückkehr bearbeitet.
In dringenden Fällen können Sie sich gerne an unsere Zentrale wenden. Sie erreichen diese unter der Telefonnummer +49 201 5454 0

Mit freundlichen Grüßen
"+$FullName+"


Dear Madam/Sir,
I’m out of office until "+$DateUK+". Your e-mail will not be forwarded and not be answered until my return. In urgent cases you are welcome to contact (+49 (0)201 5454-0).

Best regards
"+$FullName+"

--
secunet Security Networks AG
http://www.secunet.com
______________________________________________________________________

Sitz: Kronprinzenstraße 30, 45128 Essen, Deutschland
Amtsgericht Essen HRB 13615
Vorstand: Dr. Rainer Baumgart (Vors.), Axel Deininger, Thomas Pleines
Aufsichtsratsvorsitzender: Ralf Wintergerst
______________________________________________________________________" $ExternalMsg = $InternalMsg Write-Host "Der eingegebene Empfänger der Weiterleitung ist unzulässig:" $forwardRecipient "`nEs wird keine Weiterleitung auf eingerichtet." } Else { $InternalMsg = "Sehr geehrte Damen und Herren,

bis zum "+$DateDE+" bin ich nicht im Hause. Ihre E-Mail wird intern weitergeleitet und bearbeitet.
In dringenden Fällen können Sie sich gerne an `""+$forwardRecipient +"`" oder an unsere Zentrale wenden. Sie erreichen diese unter der Telefonnummer +49 201 5454 0

Mit freundlichen Grüßen
"+$FullName+"


Dear Madam/Sir,
I’m out of office until "+$DateUK+". Your e-mail will not be internally forwarded. In urgent cases you are welcome to `""+$forwardRecipient+"`"contact (+49 (0)201 5454-0).

Best regards
"+$FullName+"

--
secunet Security Networks AG
http://www.secunet.com
______________________________________________________________________

Sitz: Kronprinzenstraße 30, 45128 Essen, Deutschland
Amtsgericht Essen HRB 13615
Vorstand: Dr. Rainer Baumgart (Vors.), Axel Deininger, Thomas Pleines
Aufsichtsratsvorsitzender: Ralf Wintergerst
______________________________________________________________________" $ExternalMsg = $InternalMsg Set-MailBox $mailbox.alias -ForwardingAddress $forwardRecipient -DeliverToMailboxAndForward $True Write-host "Im Postfach " $mailbox.primarysmtpaddress "wurde eine Weiterletiung auf das Postfach " $forwardRecipient " eingerichtet. Sie kann über den folgenden Befehl gelöscht werden:`nSet-MailBox" $mailbox.alias "-ForwardingAddress `$Null -DeliverToMailboxAndForward `$False`n`n" } #> $InternalMsg = "Sehr geehrte Damen und Herren,

bis zum "+$DateDE+" bin ich nicht im Hause. Ihre E-Mail wird nicht automatisch weitergeleitet und erst nach meiner Rückkehr bearbeitet.
In dringenden Fällen können Sie sich gerne an unsere Zentrale wenden. Sie erreichen diese unter der Telefonnummer +49 201 5454 0

Mit freundlichen Grüßen
"+$FullName+"


Dear Madam/Sir,
I’m out of office until "+$DateUK+". Your e-mail will not be forwarded and not be answered until my return. In urgent cases you are welcome to contact (+49 (0)201 5454-0).

Best regards
"+$FullName+"

--
secunet Security Networks AG
http://www.secunet.com
______________________________________________________________________

Sitz: Kurfürstenstraße 58, 45138 Essen, Deutschland
Amtsgericht Essen HRB 13615
Vorstand: Dr. Rainer Baumgart (Vors.), Axel Deininger, Thomas Pleines
Aufsichtsratsvorsitzender: Ralf Wintergerst
______________________________________________________________________" $ExternalMsg = $InternalMsg $confirmAR=Read-Host "Soll in dem Postfach des Benutzers `""$Mailbox.Alias"`" die Abwesenheitsbenachrichtigung bis zum `""$dateDE`""gesetzt werden?`n(J/N)" if (($confirmAR -eq "J") -or ($confirmAR -eq "j")) { $Mailbox | Set-MailboxAutoReplyConfiguration -AutoReplyState enabled -ExternalAudience all -InternalMessage $InternalMsg -ExternalMessage $ExternalMsg Write-Host "`n`n`nDie Abwesenheitseinstellungen für das Postfach `""$mailbox.PrimarySmtpAddress"`" wurden wie folgt festgelegt:" $Mailbox | get-MailboxAutoReplyConfiguration | Select-Object AutoReplyState,ExternalAudience,InternalMessage,ExternalMessage | Format-List } Else{ If (($confirmAR -eq "N") -or ($confirmAR -eq "n")) { Write-Host "(N)ein gewählt, Abbruch" } Else{ Write-Host "Die Eingabe entsprach weder `"J`" für Ja noch `"N`" für Nein, das Skript wird abgebrochen" } }