Feiertage.vbs

Alle Skripte sind Muster ohne jede Gewährleistung oder Funktionsgarantie. f�r Schäden bin ich nicht verantwortlich. Achten Sie auf Zeilenumbrüche bei der �bernahme.

Achtung:
In meinen TestUmgebungen und bei Kunden hat dieses Skript bislang problemlos funktioniert. Trotzdem kann es sein, dass das Script unerwartet abbricht. Dies liegt oft an Sonderzeichen oder Inhalten im AD, die ich noch nicht abgefangen habe.

VBScript und 64Bit !
Viele 32bit COM-Objekte lassen sich auf einem 64bit System nur instanziieren, wenn die 32bit Version von CSCRIPT/WSCRIPT genutzt wird, welcher unter C:\Windows\SysWOW64\cscript.exe liegt.

Anscheinend kann das Skript keine Feiertage in der Vergangenheit anlegen. Lassen Sie diese daher bis auf weiteres einfach aus der Quelldatei heraus. Den Fehler konnte ich bislang nicht eingrenzen (Zeitmangel)

Um auch bei Exchange 2007 mit einem Konto auf alle Postfächer zugreifen zu k�nnen, m�ssen Sie per Skript die Berechtigungen addieren. Siehe auch E2K7 Berechtigungen

Alle Jahre ist es das gleiche Problem. Die aktuellen Feiertage sind nicht im Kalender aufgef�hrt. Meist l�st sich dadurch, dass Sie eine neue Version von Outlook installieren und damit die aktuellen Termine erhalten. Outlook legt die fehlenden Termine ja an. Aber was machen all die Anwender, die noch ein �lteres Outlook nutzen ?.

Fakt ist, dass Sie mit Outlook eine Datei mit Terminen importieren k�nnen. Outlook nutzt dazu ein eigenes Format (HOL-Datei). Nur ist es Nat�rlich nicht gerade elegant, jedem Anwender eine Mail mit dieser Anlage zum Import bereit zu stellen. Mit den passenden Berechtigungen ausgestattet und etwas Code k�nnen Sie aber auch auf dem Server zentral solche und andere Inhalte importieren. Mit etwas Geschick k�nnen Sie den Code anpassen um fast alles damit anzustellen. Aber immer vorausgesetzt, Sie haben die erforderlichen Berechtigungen (Siehe Exchange 2000 Berechtigungen)

Funktionsweise

Das Skript ist einfach und geradlinig geschrieben. Die Logik ist wie folgt:

[Deutschland] 2
Test8-12-05, 2005/12/08
Test9-12-05, 2005/12/09

Const CdoTmzGMT1 = 3
objSession.SetOption "TimeZone", CdoTmzGMT1

Download und Anpassung

Erste Schritt ist Nat�rlich der Download des Scripts

feiertage.1.11.vbs
Nach dem Download als VBS-Datei speichern

Ehe Sie aber nun das Script aufrufen k�nnen, m�ssen Sie noch ein paar Dinge tun:

Achtung:
Das Skript wirkt sich auch alle Postfächer der Organisation aus. Es ist prinzipiell m�glich, auch eine Textdatei oder LDAP-Filter f�r eine Selektion zu nutzen. Das ist im Script aber aktuell nicht umgesetzt.

Um daher z.B. die Funktion auf ein einzelnes Postfach zu beschr�nken, sollten Sie am besten die LDAP-Abfrage entsprechend anpassen, damit eben nur dieses Postfach "gefunden" wird. dazu eignet sich am besten das Feld "MailNickName" an folgender Stelle:

Testen !!!
Wenn Sie hier z.B. "mailnickname=testmailbox@firma.de" eingeben, wobei "testmailbox@firma.de" der Alias oder die SMTP-Adresse ist, dann wird der Import nur auf diese eine Mailbox angewendet.

Aufruf

Anscheinend verh�lt sich Outlook und CDO unterschiedlich. Bei meinen Tests auf dem Exchange Server selbst per CDO wurden die Termine nie als "AllDayEvent" angelegt. Leser der MSXFAQ haben aber berichtet, dass dies funktioniert, wenn der Aufruf auf einer Workstation mit Outlook 2003 erfolgt. (Nicht auf dem Exchange Server selbst)

Das Script wird mit CSCRIPT aufgerufen. Kommandozeilen werden nicht genutzt.

C:\>cscript feiertag.VBS

während der Ausf�hrung wird sowohl in der Konsole selbst als auch in einem eigenen Internet Explorer Fenster der aktuelle Status ausgegeben.

 

Den Internet Explorer d�rfen Sie nicht beenden, da sonst auch das Script abbricht. Warten Sie daher bis das Script korrekt beendet wurde. Alle Aktionen werden zus�tzlich in einer XML-Datei protokolliert, die mit dem passenden Stylesheet auch direkt im Internet Explorer zur Ausgabe geöffnet werden k�nnen. Warten Sie aber auch hier, bis das Script durchgelaufen ist, da ansonsten die XML-Datei nicht korrekt abgeschlossen ist.

In der XML-Datei stehen aber weitere Informationen, z.B. die einzelnen importierten und �bersprungenen Termine, die aber �ber das Stylesheet ausgeblendet bleiben. Die Ausgaben auf der Konsole landen zudem in einer Protokolldatei im Programmverzeichnis.

Risiken und Probleme

Das Skript wurde von mir sowohl in einer TestUmgebung als auch der ein oder anderen ProduktionsUmgebung in angepasster Form eingesetzt und hat wie gew�nscht funktioniert. Dies ist aber keine Garantie. Probleme, die ich vermute:

Weitere Links

Tags:Feiertag Code Tool VBScript