CalCheck version 1.1 Checks Outlook calendars and items, and reports problems. Usage: CalCheck [-P ] [-M ] [-S ] [-O ] [-A] [-F] [-R] [-V] [-No] CalCheck -? -P Profile name (if absent, will prompt for profile) -M Mailbox DN (if specified, only process the mailbox specified) -S Server name (process entire server unless mailbox is specified) -O Output path (path to place output files - default is the current directory) -A All calendar items output to CALCHECK.CSV -F Create CalCheck Folder and move flagged error items there -R Put a Report message in the Inbox with the CalCheck.log file -V Verbose output to the command window -No To Omit a calendar item test Works with "org" to omit the Attendee becomes Organizer test and with "dup" to omit duplicate item detection. -? Print this message There will always be a resulting CalCheck.log that shows any potential items to fix or remove, as well as processing information. Examples Default - Prompt for a profile, and process the mailbox in that profile: CalCheck Process all mailboxes on MyServer: CalCheck -S MyServer Process all mailboxes on MyServer, using MyProfile as the logon profile: CalCheck -P MyProfile -S MyServer Process just the mailbox in MyProfile: CalCheck -P MyProfile Process the specified mailbox, using MyProfile as the logon profile: CalCheck -P MyProfile -M "/o=org/ou=orgunit/cn=Recipients/cn=name" Process the specified mailbox which is located on MyServer: CalCheck -S MyServer -M "/o=org/ou=orgunit/cn=Recipients/cn=name" Process a mailbox and move error items to the CalCheck folder in the mailbox, and place a report message in the Inbox: CalCheck -F -R Print this message CalCheck -? ================================================================== Privacy Note: The data files produced by CalCheck can contain PII such as e-mail addresses. Please delete these files from your system after analysis and/or supplying them to Microsoft for analysis. For more information on Microsoft's privacy standards and practices, please go to http://privacy.microsoft.com/en-us/def ault.mspx. 5/16/2012 Release: ================== Fixed the GlobalObjectID test to work better in full server mode. Added reporting on items that ended in the past. Added a check for Exception Data to ensure the Start and Ending times for exceptions are within the boundaries of the series. If not then the item will be reported. Added better reporting for errors that occur during the non-testing phase, such as at logon, accessing various tables in the mailbox, etc. 4/27/2012 Release: ================== Added a check for detecting items in the Calendar that have the same Global Object ID. Added a check for detecting items that are greater than 25M in size and greater than 50M in size (Warning). Added a switch to allow redirection of the output files so a user can direct output to a separate folder. Updated the "Attendee becomes the Organizer" test to work with all proxy addresses of the user. This significantly reduces false positives on this test. 1/16/2012 Release: ================== Added a check that looks at the recurrence data to ensure that certain fields are the correct size - if not then it will report an error. The problem symptom here would be that a user's Free Busy information would not show correctly. If the recurrence data on an item is badly corrupted - it is possible that the MrMAPI utility (it parses the recurrence data for CalCheck) will return an error - and that will also show in the CalCheck log. 11/21/2011 Release: =================== Added a check for the problem where an attendee becomes the organizer of a meeting. This test checks the current Exchange DN of the user against the PR_SENT_REPRESENTING_EMAIL_ADDRESS property to see if they match - along with the dispidApptStateFlags property on the item to see if it is set as the Organizer. If you have gone through a migration, or have otherwise changed the Exchange DN of users in your oganization, then this test will potentially report errors when in fact things might be fine on items it reports in error. Because of the impact of the above - and the potential perf impact of checking for duplicate items, I added a new switch: -No [org] [dup] -No org : Will not perform the above Organizer check -No dup : Will not perform the duplicate calendar item check Others checks might have the option of being disabled in the future, but these seem the most impactful presently. 8/4/2011 Release: ================= Added two new checks - one for detecting duplicate items in the Calendar, and one for checking to see if there are too many recurring meetings in the Calenar. There is a limit of 1300 recurring meetings/appointments in the Calendar - so the tool will now give a warning at 1250 and an error at 1300 recurring items as it counts them. The duplicate item check will report an error when a duplicate is found, and using the -F switch will move them to the CalCheck folder in the mailbox. Added some new reporting in the CalCheck log to show the number of problem items, number of errors and number of warnings. In server mode the CalCheckSvr log will show the same - plus a list of mailboxes that had problem items in them. 6/6/2011 Release: ================= Added a new switch: -R This will create an email message in the Inbox folder with the CalCheck.log as an attachment. Makes things easier when CalCheck is run in server mode - each user will get their CalCheck log showing any problems, etc. Also makes things easier for collecting the data from the user since the log will be in an e-mail - and can be quickly forwarded to support. 5/25/2011 Release: ================== Updated the -F switch so that it will also move any meeting conflict items to the CalCheck folder. This was a request since there was an issue with moving a mailbox when there are meeting conflict items in the Calendar. 5/6/2011 Release: ================= There was a problem with the tool when calling MrMAPI.exe under certain conditions with a long path. Fixed that in this release. 5/3/2011 Release: ================= There was a problem with running with the -F switch that caused CalCheck to crash. I fixed that in this release. 4/4/2011 Release: ================= Added a new switch: -F This will create a folder in the Outlook folder hierarchy called CalCheck, and will move the flagged error items out of the Calendar folder and into the CalCheck folder. A user could then recreate the problem item(s) if needed. Items that are moved to the CalCheck folder can be moved back to the Calendar folder, or deleted, etc. After any fixes are completed, the CalCheck folder can then be manually deleted/removed from Outlook. Updated the below recurring item check (3/21 release) to handle Updated items better. 3/21/2011 Release: ================== Added a new check for recurring items where certain properties are not lined up correctly and could cause a crash in Outlook. Added an overall "CalCheckSvr.log" to the output when running in Server mode. It shows the reported items for all the mailboxes scanned in server mode to make things a little easier to find.