powershell:ad:set-emailautoresponder
Inhaltsverzeichnis
Set-EmailAutoresponder.ps1
Allgemein
Das Skript
- Set-EmailAutoresponder.ps1
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,<br><br>bis zum "+$DateDE+" bin ich nicht im Hause. Ihre E-Mail wird nicht automatisch weitergeleitet und erst nach meiner Rückkehr bearbeitet.<br>In dringenden Fällen können Sie sich gerne an unsere Zentrale wenden. Sie erreichen diese unter der Telefonnummer +49 201 5454 0<br><br>Mit freundlichen Grüßen<br>"+$FullName+"<br><br><br>Dear Madam/Sir,<br>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).<br><br>Best regards<br>"+$FullName+"<br><br>--<br>secunet Security Networks AG<br>http://www.secunet.com <br>______________________________________________________________________<br><br>Sitz: Kronprinzenstraße 30, 45128 Essen, Deutschland<br>Amtsgericht Essen HRB 13615<br>Vorstand: Dr. Rainer Baumgart (Vors.), Axel Deininger, Thomas Pleines<br>Aufsichtsratsvorsitzender: Ralf Wintergerst<br>______________________________________________________________________" $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,<br><br>bis zum "+$DateDE+" bin ich nicht im Hause. Ihre E-Mail wird intern weitergeleitet und bearbeitet.<br>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<br><br>Mit freundlichen Grüßen<br>"+$FullName+"<br><br><br>Dear Madam/Sir,<br>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).<br><br>Best regards<br>"+$FullName+"<br><br>--<br>secunet Security Networks AG<br>http://www.secunet.com <br>______________________________________________________________________<br><br>Sitz: Kronprinzenstraße 30, 45128 Essen, Deutschland<br>Amtsgericht Essen HRB 13615<br>Vorstand: Dr. Rainer Baumgart (Vors.), Axel Deininger, Thomas Pleines<br>Aufsichtsratsvorsitzender: Ralf Wintergerst<br>______________________________________________________________________" $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,<br><br>bis zum "+$DateDE+" bin ich nicht im Hause. Ihre E-Mail wird nicht automatisch weitergeleitet und erst nach meiner Rückkehr bearbeitet.<br>In dringenden Fällen können Sie sich gerne an unsere Zentrale wenden. Sie erreichen diese unter der Telefonnummer +49 201 5454 0<br><br>Mit freundlichen Grüßen<br>"+$FullName+"<br><br><br>Dear Madam/Sir,<br>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).<br><br>Best regards<br>"+$FullName+"<br><br>--<br>secunet Security Networks AG<br>http://www.secunet.com <br>______________________________________________________________________<br><br>Sitz: Kurfürstenstraße 58, 45138 Essen, Deutschland<br>Amtsgericht Essen HRB 13615<br>Vorstand: Dr. Rainer Baumgart (Vors.), Axel Deininger, Thomas Pleines<br>Aufsichtsratsvorsitzender: Ralf Wintergerst<br>______________________________________________________________________" $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" } }
powershell/ad/set-emailautoresponder.txt · Zuletzt geändert: 2024/05/27 08:36 von 127.0.0.1
