[玩转系统] 如何使用 Powershell 和 Graph API 读取用户日历事件
作者:精品下载站 日期:2024-12-14 13:39:44 浏览:14 分类:玩电脑
如何使用 Powershell 和 Graph API 读取用户日历事件
许多组织发现围绕用户日历实施某种自动化很有帮助。
目的可能是跟踪生产力、更新通知板、查看趋势等。
使用 Microsoft Graph PowerShell,访问用户日历非常容易 - 如果您知道如何操作的话 ?
这是分步指南:
编写 Office 365 日历脚本:分步指南
要启用对组织中所有日历的编程访问,您需要实施以下操作:
- 生成用于 OAuth2 身份验证的证书
- 设置客户端应用程序
- 为应用程序分配 API 权限
- 在应用程序上设置证书身份
1. 生成用于Oauth2认证的证书
使用 PowerShell,您可以快速生成自签名证书,该证书非常适合应用程序身份验证。
您需要证书中的两个文件:
- .pfx 文件 - 包含私钥,并安全地存储在调度服务器上您的调度帐户的个人证书存储中。
- .cer 文件 - 仅包含公钥并上传到 Azure 应用程序,以允许您使用相应的(秘密)私钥进行身份验证。
使用以下代码生成新证书并导出 .pfx 和 .cer 文件:
# Create certificate with expiry of 5 years
$mycert = New-SelfSignedCertificate -DnsName "easy365manager.com" -CertStoreLocation "cert:\CurrentUser\My" -NotAfter (Get-Date).AddYears(5) -KeySpec KeyExchange
# Export certificate to .pfx file
$mycert | Export-PfxCertificate -FilePath C:\tmp\ExoAutomateCert.pfx -Password $(ConvertTo-SecureString -String "$omeP@ssw0rd" -AsPlainText -Force)
# Export certificate to .cer file
$mycert | Export-Certificate -FilePath C:\tmp\ExoAutomateCert.cer
该证书是在运行代码的用户的个人证书存储中创建的。
如果您计划使用登录系统上的登录帐户自动执行脚本,则不需要 .pfx 文件(备份除外)。
要在其他系统/用户帐户上使用证书,您必须以交互方式登录并从 .pfx 文件导入证书。
.cer 文件将用于在后续步骤中在 Azure 应用程序上设置身份验证。
2. 设置客户端应用程序
您必须登录 Azure 门户才能设置新的 Azure 应用程序。然后,选择 Azure Active Directory,单击应用程序注册,或点击此直接链接。
从那里,您可以通过单击“新注册”来创建新的应用程序注册:
完成申请注册:
新的 Azure 应用程序现已创建:
注意应用程序(客户端)ID。这是我们在使用 PowerShell 连接到 Exchange Online 时将用作 -AppId 参数的内容。
3. 为应用程序分配API权限
我们将使用 Graph API 来访问用户日历。这比 Exchange Web 服务 (EWS) 等旧方法更容易使用。
选择API权限,单击添加权限,然后选择Microsoft Graph:
选择应用程序权限:
然后向下滚动以查找日历权限。如果您只想查看/导出信息,请选择日历。阅读:
我们现在拥有访问日历信息所需的权限。如果您还希望脚本提取用户信息,您可以添加以下权限:
单击“添加权限”以提交新的 API 权限。
然后授予管理员对新权限的同意:
权限的状态将更改为“已授予”,新的客户端应用程序现已设置完毕。
我们只需要授予访问权限即可使用它。
4. 在应用程序上设置证书身份
要使用步骤 1 中生成的证书启用身份验证,我们需要执行以下步骤:
单击“证书和机密”,单击“证书”,单击“上传证书”,浏览到步骤 1 中的 .cer 文件,添加说明,然后单击“添加”:
现在,您将在列表中看到证书,包括我们将在脚本中用作参数的指纹:
使用 Microsoft Graph PowerShell 读取日历信息
我们准备好摇滚了!
使用 Microsoft Graph PowerShell 模块访问用户日历。
使用以下命令连接到带有证书的新客户端应用程序:
PS C:\> Connect-MgGraph -TenantId "8a35f394-855d-4d13-9f6f-86d8eb24dc6b" -ClientId "23b3f624-502d-42fb-83ac-ea9f6aff9e5b" -CertificateThumbprint "08451D7079F093EBB2A2CB0266C885ECA098DD9E"
Welcome To Microsoft Graph!
要提取日历信息,请使用 Get-MgUserCalendarView CmdLet。
以下示例列出了用户 Hans C. Ørsted 今天的所有日历条目(仅显示一个条目):
PS C:\> $StartDate = Get-Date -Date 00:00:00
PS C:\> $EndDate = Get-Date -Date 23:59:59
PS C:\> Get-MgUserCalendarView -UserId [email protected] -CalendarId "Calendar" -StartDateTime $StartDate -EndDateTime $EndDate | fl
AllowNewTimeProposals : True
Attachments :
Attendees : {Microsoft.Graph.PowerShell.Models.MicrosoftGraphAttendee, Microsoft.Graph.PowerShell.Models.MicrosoftGraphAttendee, Microsoft.Graph.PowerShell.Models.MicrosoftGraphAttendee}
Body : Microsoft.Graph.PowerShell.Models.MicrosoftGraphItemBody
BodyPreview : Do some more testing on electro magnetism.
Calendar : Microsoft.Graph.PowerShell.Models.MicrosoftGraphCalendar
Categories : {}
ChangeKey : xa95c+RziUeacUESMPKGkwAAGGtkxw==
CreatedDateTime : 11/8/2022 7:19:51 AM
End : Microsoft.Graph.PowerShell.Models.MicrosoftGraphDateTimeZone
Extensions :
HasAttachments : False
HideAttendees : False
ICalUId : 040000008200E00074C5B7101A82E00800000000000135B14AF3D801000000000000000010000000D7E511407918FD4F9318BD4EEDFB3229
Id : AAMkAGY5MjM3MjVmLTcxMzQtNDEwNC1iNDQwLTU1NjNhOGRmYzM5ZABGAAAAAAAHk64FGa4vQJkMsperiKxZBwDFr3lz5HOJR5pxQRIw8oaTAAAAAAENAADFr3lz5HOJR5pxQRIw8oaTAAAYa3q5AAA=
Importance : normal
Instances :
IsAllDay : False
IsCancelled : False
IsDraft : False
IsOnlineMeeting : False
IsOrganizer : True
IsReminderOn : True
LastModifiedDateTime : 11/8/2022 7:21:52 AM
Location : Microsoft.Graph.PowerShell.Models.MicrosoftGraphLocation
Locations : {Science room 23}
MultiValueExtendedProperties :
OnlineMeeting : Microsoft.Graph.PowerShell.Models.MicrosoftGraphOnlineMeetingInfo
OnlineMeetingProvider : unknown
OnlineMeetingUrl :
Organizer : Microsoft.Graph.PowerShell.Models.MicrosoftGraphRecipient
OriginalEndTimeZone : Romance Standard Time
OriginalStart :
OriginalStartTimeZone : Romance Standard Time
Recurrence : Microsoft.Graph.PowerShell.Models.MicrosoftGraphPatternedRecurrence
ReminderMinutesBeforeStart : 15
ResponseRequested : True
ResponseStatus : Microsoft.Graph.PowerShell.Models.MicrosoftGraphResponseStatus
Sensitivity : normal
SeriesMasterId :
ShowAs : busy
SingleValueExtendedProperties :
Start : Microsoft.Graph.PowerShell.Models.MicrosoftGraphDateTimeZone
Subject : Meeting with assistant
TransactionId :
Type : singleInstance
WebLink : https://outlook.office365.com/owa/?itemid=AAMkAGY5MjM3MjVmLTcxMzQtNDEwNC1iNDQwLTU1NjNhOGRmYzM5ZABGAAAAAAAHk64FGa4vQJkMsperiKxZBwDFr3lz5HOJR5pxQRIw8oaTAAAAAAENAADFr3lz5HOJR5pxQRIw8oaTAAAYa3q5AAA%3D&exvsurl=1&path=/calendar/item
AdditionalProperties : {[@odata.etag, W/"xa95c+RziUeacUESMPKGkwAAGGtkxw=="]}
除了大量技术信息之外,您还将在上面的输出中看到有用的属性:
- 开始
- 结尾
- 主题
- 身体预览
- 出席者
- 地点
和更多。
享受创建带有日历集成的应用程序和脚本的乐趣!
- 上一篇:[玩转系统] 获取 ADUser
- 下一篇:[玩转系统] 邮箱权限列表 GUID
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag