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"
}
}