由于从 Office365 获取邮箱统计信息的 PowerShell 方法每个邮箱大约需要 2 秒,我正在努力从Office 365 报告 Web 服务获取数据,每 2000 个邮箱只需要几秒钟。
我遇到的问题是统计数据会定期更新并保留一些历史数据,因此每个用户都有大量记录。我只想获取每个用户的最新记录,但我一直无法找到一种方法来做到这一点。我最接近的是使用$filter=Date ge DateTime'2016-03-10T00:00:00'
日期连接到几天前的地方。从理论上讲,如果我按顺序排序,Date desc
我应该首先获取最新记录,并且如果有一个用户有 3/10 和 3/11 的记录,那么 3/11 记录将首先被拉出,这对我有用。但无论我如何进行排序,它似乎都会首先返回较旧的记录。
理想情况下,我希望能够设置标准,以便它只返回每个邮箱的最新记录,但我似乎无法弄清楚或找到如何做到这一点。我能做到的最接近的方法是开始运行在特定日期过滤的查询,将每个查询的日期往回走。
如果我可以首先返回最新的记录,我就可以使用它,因为如果我已经收到了一条记录,我可以丢弃一条记录。
https://reports.office365.com/ecp/reportingwebservice/reporting.svc/MailboxUsageDetail/
?DelegatedOrg=nnn.onmicrosoft.com&$select=Date,WindowsLiveID,CurrentMailboxSize
&$filter=Date ge DateTime'2016-03-08T00:00:00'&$orderby=Date desc
所以问题是:
- 有没有办法指定标准,以便只返回每个用户的最新记录?
- 有没有办法让它按日期降序排序——我做错了
$orderby
什么?
谢谢!