【发布时间】:2019-01-23 20:26:32
【问题描述】:
我正在尝试从 PowerShell 对象中提取特定值以创建 CSV 以在另一个应用程序中使用。更具体地说,我使用 Microsoft Graph API 在日历中下载设定时间范围内的事件。
我已经在 PowerShell 中使用了这个命令来获取初始数据
$data = Invoke-RestMethod -Uri "https://graph.microsoft.com/v1.0/users/{username}/calendar/events?startDateTime=2019-01-01T00:00:00.0000000&endDateTime=2019-01-30T23:59:00.0000000&select=subject,start,end,IsAllDay,ResponseStatus"
从这里我可以访问$data 变量中的每个项目,以获得一个不错的事件列表。
$data |
ForEach-Object {$_.value} |
Select -Property subject, start, end, IsAllDay, ResponseStatus
输出:
主题:今天的活动 开始:@{dateTime=2019-01-18T11:00:00.0000000; timeZone=GMT 标准时间} 结束:@{dateTime=2019-01-18T11:30:00.0000000; timeZone=GMT 标准时间} isAllDay : 假 响应状态:@{响应=无;时间=0001-01-01T00:00:00Z} 主题:明天的活动 开始:@{dateTime=2019-01-18T09:45:00.0000000; timeZone=GMT 标准时间} 结束:@{dateTime=2019-01-18T12:15:00.0000000; timeZone=GMT 标准时间} isAllDay : 假 响应状态:@{响应=无;时间=0001-01-01T00:00:00Z}我想要的是在start 和end 对象中选择dateTime 数据,使其看起来像这样:
我可以使用命令在 PowerShell 窗口中执行此操作
$data.value.[0].start.dateTime
但是如何使用上面的选择命令来做到这一点?
【问题讨论】:
标签: powershell