The Sumatra Utilities for Exchange 

January 31, 2007 Additional Flag for Coming DST Transition

http://www.sumatra.com/su.htm

We've added an additional flag /DST to the Sumatra Utilities as an aid to auditing how many meetings and appointments will be affected by the coming Microsoft Rebasing tool.

su /in:sutest.txt /DST

at the command prompt (where sutest.txt has user aliases zyg, riuliano, kelly, tralfax, and jam one on each line) will result in a text file like the following, outputting a total of all of each user's meetings and appointments in the DST transition zone from March 11, 2007 to April 1, 2007 and from October 28, 2007 to November 4, 2007.

 

--------------------------------------------------------------------------------
Timer: Start=2/1/2007 9:09:23 AM (ver v2.3.12)
--------------------------------------------------------------------------------
User Input file:sutest.txt

Alias Num Appts Num Recur Master Num Recur Instances Num Recur Exceptions Total Items Total Cross Check
zyg 12 2 19 1 34 34
riuliano 2 0 3 0 5 5
Error -1 user tralfax does not exist in the GC: GC://sumatra.local
kelly No Meetings found.

jam 1 0 0 0 1 1


 

So each number represents the total affected

  • Appointments (i.e., with no guests)

  • Recurring Master Meetings (i.e., which the user owns)

  • Recurring Instances

  • Recurring Exceptions

  • Total Items

  • Total cross check

Using these numbers allows you to gauge the scope of the problem you have to deal with as the new DST transition looms forward.

Error.log will also produce information to help debug in case the Utilities do not execute on your system.

The /DST switch is completely non-modifying. It reports on which meetings, exceptions, and appointments are in the date range in question.

Syntax:

su.exe /nd:xx /a /c /db /dn:domain /e /k:kwd /r /s /v:valfile /x /u:usr /in:infile

           /out:outfile /h:holdat /tz:timezone

where: 

 

/a

=Accept pending meeting requests delete request

/b

=Clear all booked meetings from calendar 

/c

=Clear pending meeting replies requests from inbox 

/db

=Check calendar for Double Booked mtgs/appts 

/dn:domainname

=Run SU on this "domain name "

/DST

= Output totals for meetings and appointments in the period from March 11, 2007 to April 1, 2007 and from October 28, 2007 to November 4, 2007

/dt:mm/dd/yy

=The date on or before which completed appointments will be moved to the inbox subfolder (requires /fn and /mc).  The default date is yesterday.

/e

=Output Every mtg/appt in calendar 

/fn:”subfolder

=Folder name of the subfolder of the inbox where calendar items will be moved.  /fn without any qualifiers defaults to “Archive Calendar”.  If no folder exists, one is created. Folder names with spaces must be enclosed in quotes.

/h:holdat

=Holiday data file (default fn holiday.txt) 

/igv

/igv:xx

=Ignore user Validation.  Default is all validation.  If a value is supplied, only that validation error message (XX) is ignored.  Notes: Fatal errors can not be ignored! Negative error numbers should include the minus sign (/igv:-15)

/in:infile

=user INput file, one AD alias per record (default infile.txt) 

/k:kwdstem

=limit mtgs/appts tagged with Keyword stem e.g. /k:ca finds ca,car,cat 

(/k default:mmconv102659080256Z) .  Also assigns a category during an insert.  E.g., /k=holiday2006

/mc

Move one-time appointments ending on or before a date (specified in /dt) into a subfolder of the inbox (specified in /fn)

/nd:xx

=NDays to search (today-today+xx days), (max/default:15 days) 

/out:outfile

=Output file (default outfile.txt) 

/qt

=Remove outlook reminders from Outlook 2000 on Exchange 2000 only!

/r

=limit to Recurring mtgs/appts

/rsvp:fix

/rsvp

=sets “Request Reply” to true

=shows meetings that have the Request Reply attribute set to false

/s

=show stats in popup message box 

/smtp

=the user addresses are in the form of an SMTP address

/tz:cdotzname

=set timezone (use cdoName); default=eastern 

/u:user  

=process this User (supersedes /in:) 

/undo:mtgfilename

=remove items from calendar (tagged w/ keyword) 

If mtgfilename is present, remove only those meetings. Data uses the same format as the holiday file.

/v:filename

=Validate. Write valid users to filename

/x

=Meeting CrossCheck 

Notes:
1. Must be run from the command prompt on a backend Exchange server
2. User must be an Exchange Domain Admin (service account), and have mailbox read/write authority

Not following the above two instructions are the biggest source of errors we see.
 

Examples:

Example

Command Line

Output ALL tagged meetings for one user "riuliano" within the last 10 days into outfile.txt

su /u:riuliano /nd:10 /e /out:outfile.txt

 Output tagged RECURRING meetings (only) for users in file "userlist.txt"(**)  into bigoutput.txt

su /in:userlist.txt /r /out:bigoutput.txt
 

Find double booked meetings within the last 15 days in "userlist.txt"

su /in:userlist.txt /db /nd:15

Find double booked Recurring meetings within the last 15 days in "userlist.txt"

u /in:userlist.txt /db /r /nd:15

Find double booked meetings and show ALL meetings within the last 15 days in "userlist.txt"

su /in:userlist.txt /db /e /nd:15

Find mismatched meetings (cancelled in owner's calendar but not in conf. room;
different date/time) for resource "exec_cr"

su /u:exec_cr /x

Output all messages with keyword "mmconv" in this userlist to migrated.txt

su /in:userlist.txt /k:mmconv /out:migrated.txt
 

Clear meetings in calendar and meeting requests in inbox for all users in file "userlist.txt"

su /in:userlist.txt /b /c

Validate Users in the “test.sumatra.com” domain, and write the validated users into the “validinlab.txt” file

su /in:userlist.txt /dn:test.sumatra.com /v:validinlab.txt

Validate the users in “userlist” and write output to “validinlab”. Ignore error mailbox disabled messages (-15)

su /in:userlist.txt /v:validinlab.txt

/igv:“-15”

Remove holidays defined in "holiday.txt" for for users in "usrlist" located in domain "lab.sumatra.com"

su /in:usrlist.txt /undo:holiday.txt /dn:lab.sumatra.com

Add holidays stored in the "holiday.csv" file to calendars “validated” in the lab in the “Sumatra.com” domain in the pacific timezone

su /in: validinlab.txt /dn:sumatra.com /tz:cdoPacific /h:holiday.csv

Move all of user “riuliano” one-time (non-recurring) appointments before 8/2/2006 to a folder called “My Old Cal Items”

Su /u:riuliano /dt:8/2/2006 /mc /fn:”my old cal items”

Move the user “zz.russ_iuliano@lab.sumatra.com” (identified by SMTP address, /smtp) one-time (non-recurring) appointments before yesterday to a folder called “My Old Cal Items”.

Su /fn:”my old cal items” /mc /dt /smtp /dn:lab.sumatra.com /u:"zz.russ_iuliano@lab.sumatra.com"

Ensure all meetings are have reply requested set to true for account “mairey” in the domain “lab.sumatra.com”, for meetings that were tagged with the Sumatra keyword

Su /u:mairey /dn:lab.sumatra.com /rsvp:fix /k

 

Notes:

All errors are written to the file  "error.txt". Please check this file to ensure the utility worked without experiencing problems.

userlist.txt has one AD Alias per record

Holiday file is a "CSV" comma separated value file (The four columns are holiday name, start date, end date, and an optional fourth column holiday type. Holiday type is F,B,T,O for Free, Busy, Tentative, Out of Office. The default is "B")

For example:

Day after New Year’s Day

1/2/2006

1/2/2006

F

President’s Day

2/20/2006

2/20/2006

F

Memorial Day

5/29/2006

5/29/2006

F

Independence Day

7/4/2006

7/4/2006

F

Labor Day

9/4/2006

9/4/2006

F

Thanksgiving Day

11/23/2006

11/23/2006

F

Day after Thanksgiving Day

11/24/2006

11/24/2006

F

Christmas Day

12/25/2006

12/25/2006

F

Day after Christmas Day

12/26/2006

12/26/2006

F

New Year’s Day Observed

12/29/2006

12/29/2006

F

 

 


 

 

User Validation keys

Key

 Description

1

 Validated

0

 Not Validated

 

 

Errors

 

-1

 User does not exist in the GC

-2

 User has duplicate aliases (mailnicknames)

-3

 User does not exist on this server

-4

 User does not have an INBOX folder on this server

-5

 Mailbox is not enabled for user

-6

 Mailbox is not enabled or can't SENDTO alias

-7

 User does not have a CALENDAR folder on this server

-8

 User has delegates

-9

 user sends forwarded invites

-11

 User does not have a Tasks folder on this server

-12

 User does not have a Contacts folder on this server

-13

 User does not have a mailbox on this server

-14

 User has ALTRECIPIENT defined

-15

 Account is disabled

-99

 Other error


 

 

TimeZone
(cdo name for /TZ)

Description (GMT Offset)

Cdoberlin

(GMT+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna

Cdoprague

(GMT+01:00) Belgrade, Pozsony, Budapest, Ljubljana, Prague

Cdoparis

(GMT+01:00) Brussels, Copenhagen, Madrid, Paris

cdoparis

(GMT+01:00) Paris, Madrid, Brussels, Copenhagen

cdoprague

(GMT+01:00) Prague, Central Europe

cdosarajevo

(GMT+01:00) Sarajevo, Skopje, Sofija, Vilnius, Warsaw, Zagreb

cdowestcentralafrica

(GMT+01:00) West Central Africa

cdoathens

(GMT+02:00) Athens, Istanbul, Minsk

cdoeasterneurope

(GMT+02:00) Bucharest

cdocairo

(GMT+02:00) Cairo

cdoharare

(GMT+02:00) Harare, Pretoria

cdohelsinki

(GMT+02:00) Helsinki, Riga, Tallinn

cdoisrael

(GMT+02:00) Israel, Jerusalem Standard Time

cdoarab

(GMT+03:00) Arab, Kuwait, Riyadh

cdobaghdad

(GMT+03:00) Baghdad

cdoeastafrica

(GMT+03:00) East Africa, Nairobi

cdomoscow

(GMT+03:00) Moscow, St. Petersburg, Volgograd

cdotehran

(GMT+03:30) Tehran

cdoabudhabi

(GMT+04:00) Abu Dhabi, Muscat

cdocaucasus

(GMT+04:00) Baku, Tbilisi, Yerevan

cdokabul

(GMT+04:30) Kabul

cdoekaterinburg

(GMT+05:00) Ekaterinburg

cdoislamabad

(GMT+05:00) Islamabad, Karachi, Tashkent

cdobombay

(GMT+05:30) Calcutta, Chennai, Mumbai, New Delhi, India Standard Time

cdonepal

(GMT+05:45) Kathmandu, Nepal

cdoalmaty

(GMT+06:00) Almaty, Novosibirsk, North Central Asia

cdodhaka

(GMT+06:00) Astana, Dhaka

cdosrilanka

(GMT+06:00) Sri Jayawardenepura, Sri Lanka

cdorangoon

(GMT+06:30) Rangoon

cdobangkok

(GMT+07:00) Bangkok, Hanoi, Jakarta

cdokrasnoyarsk

(GMT+07:00) Krasnoyarsk

cdobeijing

(GMT+08:00) Beijing, Chongqing, Hong Kong SAR, Urumqi

cdoirkutsk

(GMT+08:00) Irkutsk, Ulaan Bataar

cdosingapore

(GMT+08:00) Kuala Lumpur, Singapore

cdoperth

(GMT+08:00) Perth, Western Australia

cdotaipei

(GMT+08:00) Taipei

cdotokyo

(GMT+09:00) Osaka, Sapporo, Tokyo

cdoseoul

(GMT+09:00) Seoul, Korea Standard time

cdoyakutsk

(GMT+09:00) Yakutsk

cdoadelaide

(GMT+09:30) Adelaide, Central Australia

cdodarwin

(GMT+09:30) Darwin

cdobrisbane

(GMT+10:00) Brisbane, East Australia

cdosydney

(GMT+10:00) Canberra, Melbourne, Sydney, Hobart (year 2000 only)

cdoguam

(GMT+10:00) Guam, Port Moresby

cdohobart

(GMT+10:00) Hobart, Tasmania

cdovladivostock

(GMT+10:00) Vladivostok

cdomagadan

(GMT+11:00) Magadan, Solomon Is., New Caledonia

cdowellington

(GMT+12:00) Auckland, Wellington

cdofiji

(GMT+12:00) Fiji Islands, Kamchatka, Marshall Is.

cdotonga

(GMT+13:00) Nuku'alofa, Tonga

cdoazores

(GMT-01:00) Azores

cdocapeverde

(GMT-01:00) Cape Verde Is.

cdomidatlantic

(GMT-02:00) Mid-Atlantic

cdobrasilia

(GMT-03:00) Brasilia

cdobuenosaires