Quantcast
Channel: Exchange Server Development forum
Viewing all articles
Browse latest Browse all 7132

EWS - Unable to change JoinOnlineMeetingURL

$
0
0

I am trying to change the Joinonlinemeetingurl property using EWS, however I am getting an error "Joineonlinemeetingurl is a read only property". Is there anyway to update this URL. Also, the same behavior is noticed when I am trying to add required attendees, any help is appreciated.

Import-Module 'C:\Program Files\Microsoft\Exchange\Web Services\2.2\Microsoft.Exchange.WebServices.dll'
$exchservice = New-Object Microsoft.Exchange.WebServices.Data.ExchangeService -ArgumentList ([Microsoft.Exchange.WebServices.Data.ExchangeVersion]::Exchange2013_Sp1)
$exchService.Credentials = New-Object  Microsoft.Exchange.WebServices.Data.WebCredentials($cred.username,$cred.GetNetworkCredential().password);
if ($EWSUrl -eq $null){
	$exchService.AutodiscoverUrl($emailAddress,{$true})
	$global:EWSUrl = $exchservice.url
}
else {
	$exchservice.url = $EWSUrl
}
$exchService.ImpersonatedUserId = New-Object Microsoft.Exchange.WebServices.Data.ImpersonatedUserId([Microsoft.Exchange.WebServices.Data.ConnectingIdType]::SmtpAddress,$emailAddress);

$FolderID = new-object Microsoft.Exchange.WebServices.Data.FolderId([Microsoft.Exchange.WebServices.Data.WellKnownFolderName]::Calendar,$MailboxSMTP)
$Calendar = [Microsoft.Exchange.WebServices.Data.Folder]::Bind($exchservice,$FolderID)
$ItemPropertySet = new-object Microsoft.Exchange.WebServices.Data.PropertySet([Microsoft.Exchange.WebServices.Data.BasePropertySet]::IDOnly)
$ItemPropertySet.add([Microsoft.Exchange.WebServices.Data.AppointmentSchema]::Start)
$ItemPropertySet.add([Microsoft.Exchange.WebServices.Data.AppointmentSchema]::End)
$ItemPropertySet.add([Microsoft.Exchange.WebServices.Data.AppointmentSchema]::Duration)
$ItemPropertySet.add([Microsoft.Exchange.WebServices.Data.AppointmentSchema]::Organizer)
$ItemPropertySet.add([Microsoft.Exchange.WebServices.Data.AppointmentSchema]::RequiredAttendees)
$ItemPropertySet.add([Microsoft.Exchange.WebServices.Data.AppointmentSchema]::Subject)
$ItemPropertySet.add([Microsoft.Exchange.WebServices.Data.AppointmentSchema]::IsAllDayEvent)
$ItemPropertySet.add([Microsoft.Exchange.WebServices.Data.AppointmentSchema]::IsRecurring)
$ItemPropertySet.add([Microsoft.Exchange.WebServices.Data.AppointmentSchema]::Body)
$ItemPropertySet.add([Microsoft.Exchange.WebServices.Data.AppointmentSchema]::TextBody)
$ItemPropertySet.add([Microsoft.Exchange.WebServices.Data.AppointmentSchema]::DisplayTo)
$ItemPropertySet.add([Microsoft.Exchange.WebServices.Data.AppointmentSchema]::DisplayCc)
$ItemPropertySet.add([Microsoft.Exchange.WebServices.Data.AppointmentSchema]::Location)
$ItemPropertySet.add([Microsoft.Exchange.WebServices.Data.AppointmentSchema]::FirstOccurrence)
$ItemPropertySet.add([Microsoft.Exchange.WebServices.Data.AppointmentSchema]::LastOccurrence)
$ItemPropertySet.add([Microsoft.Exchange.WebServices.Data.AppointmentSchema]::JoinOnlineMeetingUrl)
$itemview =  New-Object Microsoft.Exchange.WebServices.Data.ItemView(10000)
$Date = Get-Date 03/08/2016
$SearchFilter = new-object Microsoft.Exchange.WebServices.Data.SearchFilter+IsGreaterThan([Microsoft.Exchange.WebServices.Data.AppointmentSchema]::Start,$Date )
$CalendarItems = $exchservice.FindItems($Calendar.Id,$SearchFilter,$itemview)
 [array]$userorganizedlyncmeetings = $CalendarItems  | where { ($_.JoinOnlineMeetingUrl -match "xyz.test")}
    foreach ( $meeting in $userorganizedlyncmeetings){

    $ItemID = [Microsoft.Exchange.WebServices.Data.Appointment]::Bind($exchservice,$meeting.Id)
    $ItemID.subject
    $ItemID.Start
    $ItemID.End
    $ItemID.OptionalAttendees
    $ItemID.Organizer.Address
    $ItemID.JoinOnlinemeetingURL = $ItemID.JoinOnlineMeetingURL.Replace("xyz","abc")
    $ItemID.Body.Text = $ItemID.Body.Text -replace ("xyz", "abc")
    $ItemID.Update([Microsoft.Exchange.WebServices.Data.ConflictResolutionMode]::AlwaysOverwrite)

    }


Viewing all articles
Browse latest Browse all 7132

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>