【问题标题】:Delete the meeting from User calendar从用户日历中删除会议
【发布时间】:2014-11-06 13:19:35
【问题描述】:

我们使用的是 Exchange Server 2010。我可以使用 search-mailbox cmdlet 从用户邮箱中删除会议,如下所述

search-mailbox -searchquery "kind:meetings from:$recipient" -targetmailbox $mailid -targetfolder "REPORT" -deletecontent -force

我的问题是从组织者邮箱中删除会议后如何向与会者发送取消邮件?

问候,

桑卡尔 M

【问题讨论】:

    标签: powershell outlook exchange-server exchangewebservices


    【解决方案1】:

    你不能。搜索邮箱是一个服务器端/管理功能。取消会议是客户端/用户功能。如果要发送取消通知,则需要使用 EWS 进行普通用户会议取消。

    【讨论】:

      【解决方案2】:

      这是一个示例,如何使用 Outlook 作为 com 对象从今天开始取消会议。

          $outlookApplication = New-Object -ComObject 'Outlook.Application'
          $namespace  = $outlookApplication.GetNamespace("MAPI")
          print("Define Start/End time for filtering existing meetings..")
          $Start = (Get-Date).AddDays(-1).ToShortDateString() + " 11:59 PM"
          $End = (Get-Date).AddDays(+1).ToShortDateString() + " 12:01 AM"
          print("Start time: " + $Start)
          print("End time: " + $End)
          print("Create meeting filter..")
          $Filter = "[MessageClass]='IPM.Appointment' AND [Start] > '$Start' AND [End] < '$End'  
          AND     [IsRecurring] = '$False'"
          print("Extract all meetings...")
          $olFolderCalendar = 9
          $Appointments = $namespace.GetDefaultFolder($olFolderCalendar).Items
          $Appointments.Sort("[Start]")
          $Appointments.IncludeRecurrences = $false
          print("Process all meeting from today..")
          foreach ($Appointment in $Appointments.Restrict($Filter) ) {
              print("Process meeeting.. Subject: " + $Appointment.Subject)
              print("Required resources: " + $Appointment.Resources)
              print("Meeting start time: " + $Appointment.Start)
              print("Meeting end time: " + $Appointment.End)
              print("Cancell meeting..")
              $Appointment.meetingstatus = 5
              # olMeeting 1   The meeting has been scheduled.
              # olMeetingCanceled 5   The scheduled meeting has been cancelled.
              # olMeetingReceived 3   The meeting request has been received.
              # olMeetingReceivedAndCanceled  7   The scheduled meeting has been cancelled but 
               still appears on the user's calendar.
              # olNonMeeting  0   An Appointment item without attendees has been scheduled. This 
               status can be used to set up holidays on a calendar.
              $Appointment.Send()
              print("Delete meeting..")
              $Appointment.Delete()
          }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-09-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-06-20
        • 1970-01-01
        • 2018-07-04
        • 1970-01-01
        相关资源
        最近更新 更多