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")}
欢呼声 格伦
史诗先生。谢谢! – zackm