我正在尝试使用 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 正在加载并正常工作。任何帮助,将不胜感激。谢谢
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)