PowerShell - Office365日历REST API v1.0:按主题搜索

问题描述:

我想使用PowerShell来查询组日历,并根据主题字段中的特定字符串返回仅一部分事件。PowerShell - Office365日历REST API v1.0:按主题搜索

目前,我可以使用下面的和得到的所有事件的列表:

$events = Invoke-RestMethod -Uri "https://outlook.office365.com/api/v1.0/users/$calendar/calendarview?startDateTime=$(Get-Date)&endDateTime=$((Get-Date).AddDays(1))" -Credential $cred | foreach-object{$_.Value} 

$events | Select-Object -Property Subject,Start,End | fl 

这是我卡住。我试图筛选这些结果的地方,我只返回结果,其中Subject -like '*string*'

不过,我只是似乎无法得到这对Invoke-RestMethod线工作...

任何帮助将不胜appreaciated。

奖金欣赏的人谁可以采取的开始和结束时间的结果,从这样的:

2016-04-25T13:00:00Z

这样:

4/25/2016

仅供参考,我已经尝试过这样的:

Get-Date $events.Start -Format 'MM/dd/yyyy' 

这给出了这个错误:

Get-Date : Cannot convert 'System.Object[]' to the type 'System.DateTime' required by parameter 'Date'. Specified method is not supported.

因为你使用CalendarView(这是各种各样的过滤器),你不能在REST级别应用另一个过滤器所以只是对结果进行筛选,例如

$events | Where-Object {$_.Subject -match 'string'} | Select-Object -Property Subject,Start,End | fl 

,或者如果你想使用通配符

$events | Where-Object {$_.Subject -Like '*string*'} | Select-Object -Property Subject,Start,End | fl 

与开始停止的时间只投其中例如

$events | % {([DateTime]$_.Start).ToString("MM/dd/yyyy")} 

欢呼声 格伦

+0

史诗先生。谢谢! – zackm