Archive

Countdown

    Keine Ereignisse vorhanden

Exchange 2007: Abwesenheitsnotiz per Powershell setzen

Wieder eine nette Aufgabe aus der Praxis. Wegen des Wechsels einiger Mitarbeiter in eine andere Firma innerhalb des Konzerns haben diese Mitarbeiter einen neuen Mailaccount erhalten. Für den bisherigen Mailaccount sollte für die Dauer von 4 Wochen eine Abwesenheitsnotiz geschaltet werden, die die Absender auf die neue E-Mail-Adresse hinweist. Bei 87 betroffenen Mitarbeitern, lohnte es sich, über eine Scriptlösung nachzudenken.

Hintergrund: Exchange 2007 unterstützt die Aktivierung einer Abwesenheitsnotiz für einen definierten Zeitraum. Die Lösung verwendet die durch OWA auf dem CAS-Server bereitgestellten Funktionen.

Nach etwas Suche habe ich bei Glen eine Klassenbibliothek gefunden, die genau für diesen Zweck geschrieben wurde. Das unten abgebildete Script zeigt ein Anwendungsbeispiel. Vorbereitend muss die Library hier heruntergeladen und entpackt werden. Der Pfad zur Library muss im Script angegeben werden. Das Beispiel-Script liest eine Textdatei mit den Userdaten (Vorname, Nachname, alte E-Mail-Adresse) ein und setzt für jeden dieser User eine individualisierte Abwesenheitsmeldung. Weitere Anwendungsbeispiele findet Ihr bei Glen.

Im Aufruf $oofutil.setoof müssen Benutzername, Kennwort und Domain eines Users angegeben werden, der über entsprechende Berechtigungen auf die anzupassenden Postfächer verfügt.

function setOOf($MB,$Message){ 
 
$oofutil = new-object EWSOofUtil.OofUtil
$strMessage = $Message
$oofutil.setoof($MB,"Scheduled",$strMessage,$strMessage,[datetime]::Now.Date.ToUniversalTime(),[datetime]::Now.Date.AddDays(46).ToUniversalTime(),"","","all","adminuser","password","Domain","https://CAS-Server/EWS/Exchange.asmx")
} 
 
function oof {
$PathToClass = "D:\EWSoofUtil\EWSOofUtil.dll"
[Reflection.Assembly]::LoadFile($PathToClass)
$users = import-csv users.txt
foreach ($user in $users)
{
$first=$user.FirstName
$last=$user.LastName
$MB=$user.Mail
 
$Message="Sehr geehrte Damen und Herren<br><br>" + 
"meine E-Mail-Adresse hat sich geändert.<br>" + 
"Sie erreichen mich ab sofort unter:<br><br>" + 
"$First.$Last@newdomain.de<br><br>" +
"Ihre E-Mail wurde <b>NICHT</b> automatisch weitergeleitet. Bitte senden Sie Ihre Nachricht erneut an die oben genannte E-Mail-Adresse<br>" +
"und korrigieren Sie ggf. den entsprechenden Eintrag in Ihrem Adressbuch.<br><br>" +
"Vielen Dank.<br><br>" +
"Mit freundlichen Grüßen,<br>" + 
"$First $Last"
$MB
setoof $MB $Message
}
}

Leave a Reply

  

  

  

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">

Comment Spam Protection by WP-SpamFree