[玩转系统] 如何连接到 Microsoft Graph PowerShell
作者:精品下载站 日期:2024-12-14 03:33:44 浏览:11 分类:玩电脑
如何连接到 Microsoft Graph PowerShell
有多种方法可以连接到 Microsoft Graph PowerShell 来管理 Microsoft 365 和 Azure 租户。哪一种方法适合您取决于您想要什么。一个很好的例子是连接到 Microsoft Graph PowerShell 以自动执行 Microsoft Graph PowerShell 脚本,无需用户交互。在本文中,您将了解如何使用三种不同的方法连接到 Microsoft Graph PowerShell。
先决条件
您需要在系统上安装 Microsoft Graph PowerShell 模块。
以管理员身份启动 Windows PowerShell 并运行以下命令。
Install-Module Microsoft.Graph -Force
Install-Module Microsoft.Graph.Beta -AllowClobber -Force
重要提示:始终安装 Microsoft Graph PowerShell 和 Microsoft Graph Beta PowerShell 模块。这是因为某些 cmdlet 在最终版本中尚不可用,并且无法运行。在运行 cmdlet 或脚本之前将两个模块更新到最新版本,以防止出现错误和不正确的结果。
方法 1 - 如何通过用户交互连接到 Microsoft Graph
第一种方法是您大部分时间都会使用的方法,因为您想要使用您的帐户连接到 Microsoft Graph 并使用命令。
Connect-MgGraph -Scopes "User.Read.All"
验证您的凭据,然后您将返回到 PowerShell 窗口。
方法 2 - 如何使用基于证书的身份验证 CBA 连接到 Microsoft Graph
第二种方法是在 Azure 中注册具有权限的应用程序。让我们完成以下步骤,并为无人值守脚本设置基于 Microsoft Graph 证书的身份验证。
1. 在Azure中注册应用程序
要在 Azure AD 中注册应用程序,请执行以下步骤:
- 登录 Microsoft Entra 管理中心
- 展开Azure Active Directory
- 单击应用程序 > 应用程序注册
- 选择新注册
- 填写名称MSGraph-Automation
- 选择任何组织目录(任何 Azure AD 目录 - 多租户)中的帐户和个人 Microsoft 帐户
- 点击注册
- 将出现 MSGraph-Automation 应用程序概述
- 复制应用程序(客户端 ID) 和目录(租户)ID 并将其粘贴到记事本中,因为稍后连接到 Microsoft Graph 时需要它
2.配置Azure应用程序API权限
您需要按照以下步骤向您创建的 MSGraph-Automation 应用程序添加 API 权限:
- 单击API权限>添加权限
- 选择Microsoft API > Microsoft Graph
- 选择应用程序权限
- 搜索user.read.all
- 展开用户并选择User.Read.All
- 点击添加权限
- 点击授予管理员同意
- 单击是
- 状态显示绿色复选标记
现在应用程序已注册并设置了 API 权限,我们可以配置两种身份验证方法;证书或客户端秘密。
3.生成自签名证书
要生成自签名证书,请使用 Windows PowerShell 登录到任何 Windows Server 或桌面。最好在要运行无人值守 PowerShell 脚本的计算机上生成证书。
当您将自签名证书上传到 Azure 中的应用程序时,以及如果您想在其他系统上使用该证书,您需要在后面的步骤中使用自签名证书。
注意:默认情况下,自签名证书的有效期为一年。
在本例中,我们为自签名证书添加了 5 年,因此我们不必每年更新它。
$mycert = New-SelfSignedCertificate -DnsName "exoip.com" -CertStoreLocation "cert:\LocalMachine\My" -NotAfter (Get-Date).AddYears(5) -KeySpec KeyExchange -FriendlyName "MSGraph Automation"
确认证书并复制ThumbPrint并将其粘贴到记事本中。稍后连接到 Microsoft Graph 时将需要它。
$mycert | Select-Object -Property Subject,Thumbprint,NotBefore,NotAfter
这就是输出的样子。
Subject Thumbprint NotBefore NotAfter
------- ---------- --------- --------
CN=exoip.com 384010504F6B495B6D53B1C55DC6C1A7273081AC 7/7/2023 6:14:36 PM 7/7/2028 6:24:36 PM
将证书导出到.cer 文件。
将 .cer 文件上传到 Azure 应用程序时,您将需要该文件(您将在后续步骤中创建该文件)。
$mycert | Export-Certificate -FilePath "C:\temp\MSGraphAutomationCert.cer"
出现输出。
Directory: C:\temp
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 7/7/2023 6:25 PM 796 MSGraphAutomationCert.cer
将证书导出到.pfx 文件。
当使用另一台计算机通过基于证书的身份验证进行连接时,您将需要该.pfx 文件。复制或发送.pfx 文件并将其安装在其他计算机上。
$mycert | Export-PfxCertificate -FilePath "C:\temp\MSGraphAutomationCert.pfx" -Password $(ConvertTo-SecureString -String "P@ssw0Rd1234" -AsPlainText -Force)
出现输出。
Directory: C:\temp
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 7/7/2023 6:26 PM 2717 MSGraphAutomationCert.pfx
4. 将证书上传到应用程序
您需要上传您在上一步中创建的自签名证书:
- 单击证书和机密
- 单击证书 > 上传证书
- 单击浏览图标并选择C:\temp中的自签名MSGraphAutomationCert.cer文件
- 添加描述MS Graph Automation Cert
- 点击添加
- 证书出现在列表中
注意:确认其具有与您在上一步中导出的证书指纹相同的证书指纹。
5. 使用基于证书的身份验证连接到 Microsoft Graph
启动 Windows PowerShell ISE 或 Visual Studio Code 并填写以下三个变量以使用基于证书的身份验证连接到 Microsoft Graph PowerShell:
- $客户端ID
- $租户ID
- $CertificateThumbPrint
# Configuration
$ClientId = "0a613e88-a189-4eac-b8c3-055196fd04d6"
$TenantId = "eb403171-a4ec-4d98-a08f-1876318c9deb"
$CertificateThumbprint = "384010504F6B495B6D53B1C55DC6C1A7273081AC"
# Connect to Microsoft Graph with CBA
Connect-MgGraph -ClientId $ClientId -TenantId $TenantId -CertificateThumbprint $CertificateThumbprint
现在您已连接到 Microsoft Graph PowerShell,请运行 Get-MgUser cmdlet 以检索用户。
Get-MgUser
方法 3 - 如何使用客户端密钥连接到 Microsoft Graph
第三种方法是在 Azure 中注册具有权限的应用程序。让我们完成以下步骤并为无人值守脚本设置 Microsoft Graph 客户端密钥。
1. 在Azure中注册应用程序
如果您没有执行上述步骤,请在 Azure 中注册应用程序。
2.配置Azure应用程序API权限
如果您没有执行此操作,请执行上述步骤来配置 Azure 应用程序 API 权限。
3. 添加客户端密码
您需要添加应用程序在请求令牌时用来证明其身份的客户端密钥。
- 单击证书和机密
- 单击客户端密钥 > 新客户端密钥
- 为其提供描述MS Graph Automation Secret
- 选择过期日期730 天(24 个月)
- 点击添加
- 复制客户端密钥值并将其粘贴到记事本中,因为在下一步连接到 Microsoft Graph 时将需要它
4. 使用客户端密钥连接到 Microsoft Graph
启动 Windows PowerShell ISE 或 Visual Studio Code 并填写以下三个变量以使用客户端密钥连接到 Microsoft Graph PowerShell:
- $客户端ID
- $租户ID
- $ClientSecret
# Configuration
$ClientId = "0a613e88-a189-4eac-b8c3-055196fd04d6"
$TenantId = "eb403171-a4ec-4d98-a08f-1876318c9deb"
$ClientSecret = "Kos8Q~nVLcjmmyGSY68qDg4zbdF8f51L2EM50ac5"
# Convert the client secret to a secure string
$ClientSecretPass = ConvertTo-SecureString -String $ClientSecret -AsPlainText -Force
# Create a credential object using the client ID and secure string
$ClientSecretCredential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $ClientId, $ClientSecretPass
# Connect to Microsoft Graph with Client Secret
Connect-MgGraph -TenantId $tenantId -ClientSecretCredential $ClientSecretCredential
现在您已连接到 Microsoft Graph PowerShell,请运行 Get-MgUser cmdlet 以检索用户。
Get-MgUser
就是这样!
了解更多:在 Microsoft Entra ID 中更新客户端密钥 »
结论
您学习了如何使用三种方法连接到 Microsoft Graph PowerShell。完成分步指南后,您可以通过 Microsoft Graph PowerShell 通过用户交互(方法 1)或无需用户交互的无人值守脚本(方法 2/3)进行身份验证。所有这些方法都非常适合使用。
您喜欢这篇文章吗?您可能还喜欢使用 PowerShell 从 CSV 创建 Microsoft Entra ID 用户。不要忘记关注我们并分享这篇文章。
猜你还喜欢
- 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