[玩转系统] Microsoft Graph PowerShell SDK 简介第 III 部分:与 Exchange Online 和 SharePoint Online 交互
作者:精品下载站 日期:2024-12-14 04:07:57 浏览:15 分类:玩电脑
Microsoft Graph PowerShell SDK 简介第 III 部分:与 Exchange Online 和 SharePoint Online 交互
超越简单的管理任务
在本系列的第二部分中,我了解了 Microsoft Graph 和 Graph PowerShell SDK 如何允许管理员从单个模块管理 Microsoft 365 的多个方面。凭借一些 PowerShell 经验,该 SDK 使标准管理任务和报告变得相对容易。
虽然在一个地方拥有此功能很好,但通过 PowerShell 管理 Microsoft 365 对于大多数管理员来说已经是老新闻了。 Graph SDK 相对于其他方法的优势在于,它可以充分利用 Graph API,允许管理员与 Exchange Online 和 SharePoint Online 等 Microsoft 365 服务进行交互,而这些服务以前需要使用专用 API,而这些 API 可能需要大量的资源。投入更多的时间来学习。
再见EWS
自 Exchange Server 2007 以来,Exchange Web 服务 (EWS) 一直是 Microsoft Exchange 的组成部分。EWS 支持以编程方式访问邮箱等 Exchange 资源。 2018 年,Exchange 团队宣布他们将不再积极投资 Exchange Online 的 EWS,并建议应用程序所有者和供应商迁移到 Microsoft Graph。随后,2021 年 API 贬值,这表明 EWS 的终结即将到来。
与邮件交互
常见的 EWS 任务是检索和处理邮箱中的邮件。 Microsoft Graph PowerShell SDK 通过各种与消息相关的 cmdlet 使此过程变得简单。例如,以下命令检索用户邮箱中的所有项目。
注意:使用委派权限(如本系列第一部分中详述)仅允许您检索您的帐户有权访问的项目,例如您自己的邮箱。要访问您无权访问的其他邮箱和资源,必须使用应用程序权限。默认情况下,SDK 将始终使用委托权限,要了解有关使用应用程序权限的更多信息,请查看本系列的第一部分。
Get-MgUserMessage -UserId <UserID> -All
从邮箱返回所有项目是一个很好的测试,但在构建代码来完成任务时不太实用。有多种方法可以过滤结果,以缩短 cmdlet 的执行时间并仅返回相关对象。首先,我们可以只返回特定文件夹中的项目。 Get-MgUserMailFolder cmdlet 返回邮箱中的顶级文件夹,Get-MgUserMailFolderChildFolder cmdlet 返回文件夹的子文件夹。在图 1 中,我们找到“收件箱”文件夹的唯一 ID,并使用它来获取“要处理的邮件”子文件夹的 ID。每个邮件项目和文件夹都有一个由 Exchange Online 分配的唯一 ID,该 ID 存储在项目的 ID 属性中。
cmdlet Get-MgUserMailFolderMessage 返回指定文件夹中包含的邮件项目。然后可以使用以下语法过滤或搜索这些结果以进一步缩小范围。
##Return all messages in a particular folder
Get-MgUserMailFolderMessage -MailFolderId AAMkAGI4NjhmMDBjLTcyNTEtNDZkYy1hMmNhLTZjMThjYjQxODIzZgAuAAAAAAAdY2Aq0HOqRqKvhWSGlIAmAQDcQ9TSiMrlRrOhGqycky_7AABCa1F8AAA= -UserId ffcf3b2c-83d0-4e5f-a432-6d6a740a99d1 -All | fl subject,id
##Search messages in a particular folder for the word “PIM”
Get-MgUserMailFolderMessage -MailFolderId AAMkAGI4NjhmMDBjLTcyNTEtNDZkYy1hMmNhLTZjMThjYjQxODIzZgAuAAAAAAAdY2Aq0HOqRqKvhWSGlIAmAQDcQ9TSiMrlRrOhGqycky_7AABCa1F8AAA= -UserId ffcf3b2c-83d0-4e5f-a432-6d6a740a99d1 -All -Search "PIM" | fl subject,id,ReceivedDateTime
##Filter messages in a particular folder by receivedDateTime and by subject starting with “Your weekly PIM digest'”
Get-MgUserMailFolderMessage -MailFolderId AAMkAGI4NjhmMDBjLTcyNTEtNDZkYy1hMmNhLTZjMThjYjQxODIzZgAuAAAAAAAdY2Aq0HOqRqKvhWSGlIAmAQDcQ9TSiMrlRrOhGqycky_7AABCa1F8AAA= -UserId ffcf3b2c-83d0-4e5f-a432-6d6a740a99d1 -All -Filter "(receivedDateTime gt 2022-10-01T00:00:00Z) and (startswith(Subject,'Your weekly PIM digest'))" | fl subject,id,ReceivedDateTime
如图 2 所示,将过滤器和搜索与 Get-MgUserMailFolderMessage 之类的 cmdlet 相结合,可以缩小结果范围,并允许我们准确检索所需内容。
了解更多信息:要了解有关使用 Graph SDK 评估邮箱项目的更多信息,请查看这篇关于使用 PowerShell 和图表创建邮箱内容报告的文章。
项目以 JSON 格式返回,邮件项目作为消息资源类型返回。资源类型是特定对象的预定义格式(JSON 格式),消息资源类型对象的架构在图文档中详细介绍。
Graph SDK 还支持使用 Update-MgUserMessage cmdlet 修改现有邮件项目。在下面显示的代码中,我们更新用消息标识符标识的消息主题:
##Modify the subject of a message
Update-MgUserMessage -MessageId AAMkAGI4NjhmMDBjLTcyNTEtNDZkYy1hMmNhLTZjMThjYjQxODIzZgBGAAAAAAAdY2Aq0HOqRqKvhWSGlIAmBwDcQ9TSiMrlRrOhGqycky_7AABCa1F8AADcQ9TSiMrlRrOhGqycky_7AABCa4w1AAA= -UserId ffcf3b2c-83d0-4e5f-a432-6d6a740a99d1 -Subject "Updated message subject"
cmdlet Move-MgUserMessage 会将邮件移动到目标文件夹中。在图 3 中,我们获取现有邮件项目的 ID,获取 Inbox 文件夹的 ID,并将邮件移入其中。
在测试之外,修改现有邮件项目的用例非常有限。更实用的是能够直接从 PowerShell 发送电子邮件。本文介绍如何使用适用于 PowerShell 的 Microsoft Graph SDK 发送 Exchange Online 电子邮件,展示如何使用 Graph SDK 直接从 PowerShell 发送邮件。
使用 SharePoint Online
文件和站点管理及报告是 Microsoft Graph 的另一个主要优势。通过 PowerShell 与 SharePoint Online(以及扩展的 Teams 和 OneDrive)中的文件和网站进行交互以前需要了解 SharePoint PnP PowerShell 模块或 SharePoint 客户端对象模型 (CSOM),如果您没有经验,这两种方法都不是特别直观在 SharePoint 开发中。
Microsoft Graph 公开了与 SharePoint Online 交互的端点,虽然它不具备 PnP 或 CSOM 的深度(例如创建网站模板),但完全支持租户管理员需要执行的大多数任务。
这篇关于如何使用图表 API 在 SharePoint Online 网站中创建文件报告的文章是图表如何帮助 SharePoint Online 管理员的一个示例。本文中的代码首先获取附加到特定站点的驱动器(文档库)列表,并过滤“文档”库。从这里它展开根目录下的文件和文件夹以创建有用的报告。
此脚本使用 PowerShell SDK 中的 Invoke-MgGraphRequest cmdlet 来查询Drives 端点并返回所有库。 Invoke-MgGraphRequest 是针对您知道的端点或没有本机 PowerShell SDK cmdlet 的端点运行查询的好方法。
使用 Get-MgSiteDrive cmdlet 可以获得相同的结果,但是该 cmdlet 存在一些细微差别。例如,只需针对特定站点运行 Get-MgSiteDrive 将查询站点的 /drive 端点。 /drive 端点仅返回站点的默认文档库。如图 4 所示,使用 SDK 的调试功能,如本文中讨论的使用 Microsoft Graph PowerShell SDK Cmdlet 的 Debug 参数来公开 Graph API 请求。
要返回附加到网站的所有云端硬盘,我们需要添加 -All 参数。此参数将查询的端点从 /drive 更改为 /drives。 URI 中的这种微妙变化(在排除脚本无法按预期工作的原因时很难发现)将结果集从默认库更改为所有库。图 5 显示了带有 -All 参数的 URI。
这个细微差别(或功能,很难从文档中说出来)相对较小,但它确实开始显示出 PowerShell SDK 的一些粗糙边缘。 SDK 仍然是一项正在进行中的工作,毫无疑问,随着时间的推移,它会随着文档的改进和 cmdlet 直接支持的更多端点而成熟。在此之前,总会有 Invoke-MgGraphRequest cmdlet 来填补空白。
另一个示例是列出驱动器中的文件。 Get-MgDriveItem cmdlet 似乎应该执行此处所需的操作,但是,此 cmdlet 使用 /drive/driveid/items 端点,该端点用于返回特定项目,不列出所有项目。在脚本中,URI https://graph.microsoft.com/v1.0/sites/$ ($Site.Id)/drives/$ ($DocumentLibrary.Id)/root/children 与Invoke-MgGraphRequest cmdlet 就可以完美地完成工作。
概括
Graph PowerShell SDK 是一个出色的工具,管理员可以通过以前不投入大量时间的方式与 Microsoft 365 工作负载进行交互。 SDK 为开始使用 Microsoft Graph 提供了多种可能性,但仍有一些领域需要改进。
虽然它不能替代学习用于创建复杂解决方案的 Graph API 的复杂性,但 SDK 是一种入门和执行标准任务的绝佳方式,无需投入太多时间。
Active Directory 的网络安全风险管理
了解如何通过这些网络安全风险管理解决方案预防 AD 攻击并从中恢复。
猜你还喜欢
- 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