Tools: TerminCount
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.
Mit Exchange 2007/2010 können Sie in gewissem umfang einen Teil der Informationen über das Commandlet "Get-MailboxStatistics" erhalten. Siehe weiter unten.
Das "Problem" wurde in Exchange 2000/2003 schon gefixt aber auch mit dem Exchange 2007 SP1 immer noch aktuell. Prüfen Sie daher vor der Migration, ob es entsprechende Konten gibt. Erst Exchange 2007 SP1 Rollup1 soll das Problem lösen.
Beachten Sie dazu auch das Tools CalCheck - Calendar Checking Tool von Microsoft
Alternativ auch das
PowerShell-Sample von Glen Scales
How To Series Sample 7 : Reporting on Calendar
Appointments with Attachments in EWS and
PowerShell
http://gsexdev.blogspot.de/2012/08/how-to-series-sample-7-reporting-on.html
Das Problem
Wussten Sie schon, dass Exchange 2000/2003 Probleme mit mehr als 1300 wiederkehrenden Terminen in einem Postfach hatte ?. Diese Problem wurde mit Exchange 2000 in einem Service Pack gefixt und für Exchange 2003 mit dem SP2 gelöst. Nur wurde der Code für Exchange 2007 wohl etwas früher abgespalten, so dass das Problem in Exchange 2007 SP0 wieder aktuell ist.
Das Ergebnis ist aber nicht nur, dass die Anwender Probleme beim Speichern von wiederkehrenden Terminen haben, sondern dass Exchange ebenfalls mit seinem "Agenten" damit ein Problem hat. Das kann soweit gehen, dass der Server immer wieder versucht etwas zu schreiben und aufgrund des Fehlers dies immer wieder versucht mit dem Ergebnis, dass die Transaktionsprotokolle sehr schnell anwachsen.
-
http://msg-blog.de/2007/09/28/exchange-2007-calendaring-agent-meldet-excdo-events-8199-8206-und-8213-bei-mehr-als-1300-serienterminen/
Von Markus Mohmeyer wurde ich auf die Problematik aufmerksam gemacht und hat dann zum Skript geführt. - 892524 You cannot save or delete a recurring appointment from a Calendar that is maintained on an Exchange Server 2003 computer
- How many Recurring Appointments Does it Take to Screw up Outlook in
E2K7?
http://calendarservermigration.blogspot.com/2007/06/how-many-recurring-appointments-does-it.html
Eine Lösung für dieses Problem kann ich ihnen nicht bieten, aber Sie können dieses Problem vorhersehen, wenn Sie wissen, wie viele Termine im Kalender ihrer Mitarbeiter zu finden sind. Aus dem Skript TerminPatch habe ich daher das Skript "Termincount" abgeleitet, welches einfach die Termine in den Postfächern zählt und in einer XML-Datei anzeigt.
Funktionsweise
Das VBScript sollten Sie am einfachsten auf einem Exchange Server starten, da es damit direkt die Exchange 2000/2003 Server CDO nutzen kann und Outlook Sicherheitswarnungen entfallen. Auf Exchange 2007 gibt es keine CDO. Hier müssen Sie erst die CDO nachinstallieren oder von einem anderen PC aus den Aufruf durchführen. Das Skript liest aus dem Globalen Katalog alle Postfächer ihrer Organisation aus und verbindet sich dann mittels CDO1.21 mit jedem einzelnen Postfach.
Damit dies funktioniert, muss der ausführende Anwender natürlich die erforderlichen Berechtigungen (Siehe Mailboxrechte) besitzen. Zudem muss er in der Exchange Organisation zumindest "READ"-Rechte haben, damit das Skript auf Basis des HomeMDB den Namen des Servers ausfindig machen kann.
Das Skript durchläuft jedes Postfach und verbindet sich gezielt mit dem Kalender um darin dann alle wiederkehrenden Termine zu suchen und die Summe in einer XML-Datei zu berichten.
Wenn Sie das Skript auf bestimmte Postfächer oder Server eingrenzen wollen, ist aktuell der LDAP-Suchfilter im Script selbst zu editieren. Es gibt keine grafische Konsole oder Kommandozeile.
Download und Aufruf
Dieses Skript ist kein öffentlicher Download
Informationen, warum diese Skripte nicht öffentlich sind, finden Sie auf
nicht public.
Bitte haben Sie Verständnis, dass ich aufgrund des hohen
Missbrauchspotential solcher Skripte diese nicht an IT-Dienstleister oder
externe Consultants abgebe, sondern idealerweise der IT-Leiter oder
Geschäftsführer dieses Skript anfordert.
Unterstützung durch
Net at
Work:
Alternativ können Sie natürlich auch eine umfangreichere Analyse
beauftragen. Rufen Sie einfach an.
Sie können das Skript gerne als Administrator oder anderweitig verantwortliche Person erhalten. Schreiben Sie einfach eine Mail von ihrem Firmenaccount an mit dem Betreff "MSXFAQ: Termincount" und vergessen Sie nicht die Angabe ihres Namens der Adresse und ihrer Funktion. Bitte haben Sie Verständnis, dass ich diese Skript nur an IT-Leiter o.ä. abgebe, damit man mir keine Vorwürfe machen kann, ich würde Hackerwerkzeuge verteilen.
Sammeln der Daten
Der erste Schritt ist das Sammeln der Daten von allen Postfächern. Eventuelle Einschränkungen auf Postfächer müssen Sie im Source direkt vornehmen.
cscript termincount.vbs
Die Laufzeit des Scripts hängt direkt von der Größe der Postfächer, der Performance ihres Servers und des ausführenden PCs ab.
Das Skripte zeigt in der CMD-Box die aktuellen Aktivitäten an.
Das Script zeigt den Fortschritt in einem Internet Explorer Fenster an, welches sie nicht beenden dürfen. Anhand der Gesamtanzahl der Postfächer, und der für die bisher abgeschlossenen Postfächer verbrauchte Zeit wird eine Schätzung der Endezeit vorgenommen, die natürlich bei ungleich verteilen Mailboxen und Servern nicht sehr genau sein kann.
Anzeige im Internet Explorer
Klicken Sie einfach direkt die XML-Datei an. In der XML-Datei ist das passende Stylesheet hinterlegt, welches vom VBScript auch bei jedem Lauf wieder angelegt wird.
Man sieht ganz deutlich, dass ich zwar schon 3176 Termine in meinem Kalender angehäuft habe, aber nur 31 davon "wiederkehrend" sind. Ich kann also ziemlich "problemlos" auf Exchange 2007 verschoben werden.
Einzelplatzlösung und öffentliche Kalender
Das Skript ist für die Überprüfung vieler Postfächer in einer Exchange Organisation gedacht. Es kann aber nur Postfächer überprüfen und ist vom Einsatz nicht ganz trivial. Wenn Sie nur mal schnell einen Ordner in ihren Postfach, einen öffentlichen Ordner oder in einem verbundenen Postfach prüfen wollen, dann kann ihnen folgendes VBA-Makro weiter helfen, welches sie einfach im Outlook Makroeditor starten können. Es startet einen Dialog zur Auswahl der fraglichen Ordners und gibt am Ende die Anzahl der Termine insgesamt und der wiederkehrenden Termine aus:
Sub CountRecurrentAppointments() ' counting all recurrent Appointments Dim objfolder As MAPIFolder Set objfolder = Outlook.GetNamespace("MAPI").PickFolder If objfolder.DefaultMessageClass <> "IPM.Appointment" Then MsgBox "Please select a calendar folder" Exit Sub End If Dim Item As AppointmentItem Dim count As Integer Dim recurring As Integer count = 0: recurring = 0 Dim colitems As items Set colitems = objfolder.items Set Item = colitems.GetFirst() ' Get first element Do While Not Item Is Nothing Debug.Print "Processing:" & Item.subject count = count + 1 If Item.IsRecurring Then recurring = recurring + 1 Set Item = colitems.GetNext() Loop MsgBox ("CountRecurringAppointments" & vbCrLf & _ "Appointments Total :" & count & vbCrLf & _ "Appointments recurring:" & recurring) End Sub
Exchange 2007
Wenn Sie ihre Benutzer allerdings schon auf Exchange 2007 migriert haben, dann können Sie auch über die dort vorhandenen Commandlets entsprechende statistische Aussagen machen. Das Commandlet "Get-MailboxStatistics" von Exchange 2007 erlaubt eine Auswertung bezüglich der Ordnergröße und Anzahl.
get-mailbox | `
Get-MailboxFolderStatistics `
-FolderScope calendar | `
select identity,itemsinfolder
Allerdings wird hier nicht zwischen wiederkehrenden Serienterminen und normalen Terminen unterschieden. Insofern sind die Aussagen nicht ausreichend. Aber Termincount kann auch mit Exchange 2007 arbeiten. Beachten Sie aber die Hinweise auf MAPI/ExtendedMAPI bezüglich CDO und Exchange 2007
Weitere Links
- TerminPatch
- MAPI/ExtendedMAPI
- MBReport
- Mailboxrechte
- CalCheck - Calendar Checking Tool
- PFReport
- Get-MailboxFolderStatistics
2007 http://technet.microsoft.com/de-de/library/aa996762(v=exchg.80).aspx
2010: http://technet.microsoft.com/de-de/library/aa996762.aspx -
http://msg-blog.de/2007/09/28/exchange-2007-calendaring-agent-meldet-excdo-events-8199-8206-und-8213-bei-mehr-als-1300-serienterminen/
Von Markus Mohmeyer wurde ich auf die Problematik aufmerksam gemacht und hat dann zum Skript geführt. - 892524 You cannot save or delete a recurring appointment from a Calendar that is maintained on an Exchange Server 2003 computer
- How many Recurring Appointments Does it Take to Screw up Outlook in
E2K7?
http://calendarservermigration.blogspot.com/2007/06/how-many-recurring-appointments-does-it.html -
How To Series Sample 7 : Reporting on Calendar Appointments with Attachments in EWS and PowerShell
http://gsexdev.blogspot.de/2012/08/how-to-series-sample-7-reporting-on.html