如何使用 PowerShell 中的 EWS 托管 API 在 Exchange 邮箱日历中创建每周、每月和每年的定期会议

问题描述 投票:0回答:1

我正在尝试使用 PowerShell 中的 EWS 托管 API 创建 Exchange 邮箱日历会议。如果不是定期会议,我可以创建,但代码不适用于定期会议。我看到有多个在 C# 中创建定期会议的示例,但我在 PowerShell 中找不到太多帮助来工作重复会议。

当我尝试这段代码时。我收到错误,附有屏幕截图。

$recurrence = New-Object Microsoft.Exchange.WebServices.Data.Recurrence ($Appointment.Start.Date, [Microsoft.Exchange.WebServices.Data.DayOfTheWeek]::星期三, 1) $Appointment.Recurrence = $recurrence

我也尝试过这段代码 $Recurrence = 新对象 Microsoft.Exchange.WebServices.Data.Recurrence.WeeklyPattern([Microsoft.Exchange.WebServices.Data.DayOfTheWeek]::星期二,1) $Appointment.Recurrence = $Recurrence

但出现错误

我真的厌倦了这个问题,因为很多天过去了,我仍然被困在那里。当我创建一个简单的会议而没有任何重复时,EWS 托管 API DLL 正在加载并正常工作。任何帮助,将不胜感激。谢谢

powershell office365 exchange-server exchangewebservices ews-managed-api
1个回答
0
投票

EWS 托管 API 中的循环(和搜索过滤器)是嵌套类型,请参阅 https://learn.microsoft.com/en-us/dotnet/standard/design-guidelines/nested-types?redirectedfrom=MSDN。但基本上你不能创建封闭类型的实例(因为没有公共构造函数),例如你可以在 PowerShell 中使用(或者只是阅读该类的源代码或文档)来检查它

([type]"Microsoft.Exchange.WebServices.Data.Recurrence").GetConstructors()

要在 PowerShell 中使用嵌套类型,只需在封闭类型和嵌套类型之间添加 + 号即可,例如

Microsoft.Exchange.WebServices.Data.Recurrence+WeeklyPattern

对于 weekpattern,构造函数已记录 https://learn.microsoft.com/en-us/dotnet/api/microsoft.exchange.webservices.data.recurrence.weeklypattern.-ctor?view=exchange-ews-api# microsoft-exchange-webservices-data-recurrence-weeklypattern-ctor(system-datetime-system-int32-microsoft-exchange-webservices-data-dayoftheweek()) 因此在您的示例中它缺少重复的 StartDate 例如它应该是

$Recurrence = New-Object Microsoft.Exchange.WebServices.Data.Recurrence+WeeklyPattern((Get-Date),[Microsoft.Exchange.WebServices.Data.DayOfTheWeek]::Tuesday, 1)
© www.soinside.com 2019 - 2024. All rights reserved.