none
Find all Reoccurrence meeting that does not have an end date by using exchange 2007 EWS RRS feed

  • General discussion

  • Hi all

    can some one help me regarding this issue:

    i would like to find a way to find all of this meetings and to be able to modify them,so they will have an end date.

    or maybee there is some powershell script to do it.

    Thank you all.

    Wednesday, November 24, 2010 9:32 PM

All replies

  • A Recurring meeting without an end date is not a bug and doesn't need to be fixed it perfectly valid why do you want to do this? its important to understand that recurring appointments are only stored as one Item in the Exchange Store and the recurrence is just a patterned stored in a property on that item so there is nothing to gain from doing this. Bascially to find appointments with these property just you can try something like this

            ExtendedPropertyDefinition isRecurring = new ExtendedPropertyDefinition(DefaultExtendedPropertySet.Appointment, 33315, MapiPropertyType.Boolean);
            SearchFilter sfSearchFilter1 = new SearchFilter.IsEqualTo(isRecurring, true);
            SearchFilter sfSearchFilter2 = new SearchFilter.IsEqualTo(ItemSchema.ItemClass, "IPM.Appointment");
            SearchFilter sfCol = new SearchFilter.SearchFilterCollection(LogicalOperator.And) { sfSearchFilter1, sfSearchFilter2 };
    
            ItemView iv = new ItemView(10000);
            PropertySet psPropSetmaster = new PropertySet(BasePropertySet.FirstClassProperties);
            iv.PropertySet = psPropSetmaster;
            FindItemsResults<Item> fiMasters = cfCalendarFolder.FindItems(sfCol, iv);
            foreach (Item itItem in fiMasters)
            {
            
              if (itItem is Appointment)
              {
                try
                {
                  itItem.Load();
                }
                catch (Exception e)
                {
                  if (e.Message != null)
                  {
                    Console.WriteLine(e.Message.ToString());
                  }
                }
                Appointment apAppointment = (Appointment)itItem;
                if (apAppointment.AppointmentType == AppointmentType.RecurringMaster)
                {
    
                  if (apAppointment.Recurrence.HasEnd == false)
                  {<br/>
    

    This is more usefull however to identify recurring appointments that have expired.

    Cheers
    Glen

    Thursday, November 25, 2010 3:00 AM
  • Hi Glen

    Thanks for quick reply ,we have a meeting system and that issue disrupting the system.

    but you gave me the way,and thats important.

    Thanks a lot Glen.

     

    Thursday, November 25, 2010 7:19 AM