当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 安装 Microsoft Graph PowerShell 模块

作者:精品下载站 日期:2024-12-14 09:12:36 浏览:15 分类:玩电脑

安装 Microsoft Graph PowerShell 模块


Microsoft Graph PowerShell 取代了 Azure AD PowerShell 和 MSOnline 模块。因此,我们建议您使用 MS Graph PowerShell SDK 来连接 Azure AD。在本文中,您将学习如何安装 Microsoft Graph PowerShell 模块。

先决条件 Microsoft Graph PowerShell

在安装 Microsoft Graph PowerShell 模块之前,您需要设置系统。要将 Microsoft Graph PowerShell SDK 与 Windows PowerShell 结合使用,需要满足以下先决条件:

  • 升级到 PowerShell 5.1 或更高版本
  • 安装 .NET Framework 4.7.2 或更高版本

但是,如果在 Windows 上安装 PowerShell 7,则使用 Microsoft Graph PowerShell SDK 没有其他先决条件。因此,建议在所有平台上将 PowerShell 7 或更高版本与 Microsoft Graph PowerShell SDK 结合使用。

安装 Microsoft Graph PowerShell SDK

Microsoft Graph PowerShell SDK 由两个模块组成。请按照以下步骤在 PowerShell 上安装 Microsoft Graph 模块和 Microsoft Graph Beta 模块。

1.设置Windows PowerShell执行策略

默认情况下,我们无法安装脚本。要要求从 Internet 下载的所有 PowerShell 脚本均由受信任的发布者签名,您需要执行以下步骤。

以管理员身份运行 PowerShell,然后运行以下 cmdlet。

Set-ExecutionPolicy RemoteSigned

Y,然后按Enter

PS C:\> Set-ExecutionPolicy RemoteSigned

Execution Policy Change
The execution policy helps protect you from scripts that you do not trust. Changing the execution policy might expose
you to the security risks described in the about_Execution_Policies help topic at
http://go.microsoft.com/fwlink/?LinkID=135170. Do you want to change the execution policy?
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "N"): Y

重要提示:关闭并重新打开 Windows PowerShell 窗口以应用更改。

2.安装PowerShellGet模块

以管理员身份运行 PowerShell 并运行以下 cmdlet。

Install-Module PowershellGet -Force

当系统要求安装 NuGet 提供程序时,请按 YEnter

PS C:\> Install-Module PowershellGet -Force

NuGet provider is required to continue
PowerShellGet requires NuGet provider version '2.8.5.201' or newer to interact with NuGet-based repositories. The NuGet provider must be available in 'C:\Program Files\PackageManagement\ProviderAssemblies' or
'C:\Users\administrator.a-d\AppData\Local\PackageManagement\ProviderAssemblies'. You can also install the NuGet provider by running 'Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force'. Do you want PowerShellGet to install
and import the NuGet provider now?
[Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): Y

3.安装Microsoft Graph模块

运行以下命令来安装 Microsoft Graph 模块。按YEnter

Install-Module Microsoft.Graph -Force

下载并安装 Microsoft Graph 模块可能需要几分钟的时间。

注意:我们还建议您在下一步中安装 Microsoft Graph Beta 模块。这是因为某些 cmdlet 将无法工作,因为它们在 v2.x Final 中不可用。

4.安装Microsoft Graph Beta模块

安装Microsoft Graph Beta 模块。添加参数-AllowClobber-Force,防止从其他模块版本升级时发生冲突。从 v1.x 升级到 v2.x 时可能会出现这种情况。

运行以下命令安装 Microsoft Graph Beta 模块。按YEnter

Install-Module Microsoft.Graph.Beta -AllowClobber -Force

下载并安装 Microsoft Graph Beta 模块可能需要几分钟的时间。

检查 Microsoft Graph PowerShell 模块版本

验证您安装了 Microsoft Graph 模块

使用以下 PowerShell cmdlet。

Get-InstalledModule Microsoft.Graph | ft -AutoSize

输出显示正在运行的 MS Graph 版本。

PS C:\> Get-InstalledModule Microsoft.Graph | ft -AutoSize

Version Name            Repository Description 
------- ----            ---------- ----------- 
2.7.0   Microsoft.Graph PSGallery  Microsoft Graph PowerShell module

然后还要检查您是否安装了 Microsoft Graph Beta 模块

运行以下 Powershell cmdlet。

Get-InstalledModule Microsoft.Graph.Beta | ft -AutoSize

PowerShell 输出显示正在运行的 MS Graph Beta 版本。

PS C:\> Get-InstalledModule Microsoft.Graph.Beta | ft -AutoSize

Version Name                 Repository Description                      
------- ----                 ---------- -----------                      
2.7.0   Microsoft.Graph.Beta PSGallery  Microsoft Graph PowerShell module

连接到 Microsoft Graph PowerShell

您可以使用或不使用 MFA 连接到 Microsoft Graph PowerShell。在本示例中,我们将向您展示如何使用交互模式进行连接。

使用以下范围运行 PowerShell cmdlet。

Connect-MgGraph -Scopes 'User.Read.All'

登录窗口打开。

  • 输入您的管理员帐户密码
  • 点击登录

[玩转系统] 安装 Microsoft Graph PowerShell 模块

如果您启用了 MFA,您将收到以短信形式发送或发送到手机上的身份验证应用程序的验证码。如果您的 MFA 被禁用,您将无法在此处执行任何操作。

[玩转系统] 安装 Microsoft Graph PowerShell 模块

它显示您允许 Microsoft Graph 使用的权限。

  • 选择代表您的组织同意
  • 点击接受

[玩转系统] 安装 Microsoft Graph PowerShell 模块

验证完成后,您可以返回 PowerShell 窗口。

还有其他无需身份验证即可连接到 Microsoft Graph PowerShell 的方法,例如自签名证书或客户端密钥。

要验证您是否具有用户读取全部权限进行连接,请使用 Get-MgUser cmdlet。

Get-MgUser -All

运行以下 cmdlet 以使用 Microsoft Graph Beta。

Get-MgBetaUser -All

断开 Microsoft Graph PowerShell 连接

完成后始终断开远程 PowerShell 会话,以避免等待旧会话过期。

使用以下 cmdlet 完成后,请断开远程 PowerShell 会话。

Disconnect-MgGraph

如果再次运行上述 cmdlet,您可以检查是否已正确断开连接。

以下输出显示没有可注销的应用程序,因为您已经断开了 Microsoft Graph 的连接。

PS C:\> Disconnect-MgGraph

Disconnect-MgGraph : No application to sign out from.
At line:1 char:1
+ Disconnect-MgGraph
+ ~~~~~~~~~~~~~~~~
 + CategoryInfo          : CloseError: (:) [Disconnect-MgGraph], ArgumentException
 + FullyQualifiedErrorId : Microsoft.Graph.PowerShell.Authentication.Cmdlets.DisconnectMgGrap

更新 Microsoft Graph PowerShell 模块

我们建议您始终更新到最新版本的 Microsoft Graph PowerShell 模块。

运行以下 PowerShell 命令。

Update-Module Microsoft.Graph -Force
Update-Module Microsoft.Graph.Beta -Force

它将把 Microsoft GraphMicrosoft Graph Beta 模块更新到可用的最新版本。

卸载 Microsoft Graph PowerShell 模块

要卸载所有 Microsoft Graph PowerShell 模块(包括测试版),请运行以下命令。

重要提示:您需要运行以下所有 4 个命令才能从系统中完全删除 Microsoft Graph。

Uninstall-Module Microsoft.Graph -AllowPrerelease -AllVersions
Uninstall-Module Microsoft.Graph.Beta -AllowPrerelease -AllVersions # Assuming you have beta modules installed.
Get-InstalledModule Microsoft.Graph.* | %{ if($_.Name -ne "Microsoft.Graph.Authentication"){ Uninstall-Module $_.Name -AllowPrerelease -AllVersions } }
Uninstall-Module Microsoft.Graph.Authentication -AllowPrerelease -AllVersions

注意:卸载大约需要 15 分钟才能完成。等待,不要关闭 PowerShell 会话。

您可能会收到错误:未找到匹配项。该错误类似于下面所示的示例,但这不是问题。这意味着指定的 Microsoft Graph 模块已被删除。继续执行其他命令。

PackageManagement\Uninstall-Package : No match was found for the specified search criteria and module names 'Microsoft.Graph'.
At C:\Program Files\WindowsPowerShell\Modules\PowerShellGet.2.5\PSModule.psm1:12733 char:21
+ ...        $null = PackageManagement\Uninstall-Package @PSBoundParameters
+                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (Microsoft.Power...ninstallPackage:UninstallPackage) [Uninstall-Package], Exception
    + FullyQualifiedErrorId : NoMatchFound,Microsoft.PowerShell.PackageManagement.Cmdlets.UninstallPackage

就是这样!

常见问题 (FAQ)

如何以管理员身份运行 Microsoft Graph PowerShell?

单击“开始”并搜索 PowerShell 应用。在右侧,单击以管理员身份运行。或者,您可以右键单击 PowerShell 图标并选择以管理员身份运行。这样,您就可以不受限制地运行 PowerShell 命令。

为什么我需要安装 Microsoft Graph PowerShell?

安装 Microsoft Graph PowerShell 可以访问 Azure AD 和 MSOnline 模块。由于 Azure Active Directory Graph 已弃用,因此需要安装 Microsoft Graph PowerShell。 Microsoft Graph 也比 Azure AD Graph 更安全、更有弹性。

连接到 Microsoft Graph PowerShell 时是否需要多重身份验证 (MFA)?

要连接到 Microsoft Graph PowerShell,不需要启用 MFA。 cmdlet Connect-MgGraph 适用于具有或不具有 MFA 的帐户。但是,我们建议启用 MFA 以保护您的组织并具有强大的安全性。

了解更多:连接到 Microsoft Graph 模块 »

我需要安装哪个 Microsoft Graph PowerShell 模块?

最好安装必要的模块,包括默认安装的Microsoft.Graph.Authentication。如果您使用较旧的 MS Graph 模块,则应使用 cmdlet Update-Module Microsoft.Graph -ForceUpdate-Module Microsoft.Graph.Beta -Force 将其更新到最新模块。

我需要安装 Microsoft Graph Beta 模块吗?

我们建议安装 Microsoft.Graph.Beta 模块以使用 Microsoft Graph 模块 v2.x 中尚未提供的命令。否则,您将无法运行这些命令,并且会收到错误消息:未找到匹配项

了解更多:连接到 Exchange Online PowerShell »

结论

您了解了如何安装 Microsoft Graph PowerShell 模块并更新到最新版本。建议安装 Microsoft Graph Beta 模块以使用最新版本 v2 中尚未提供的 cmdlet。使用或不使用 MFA 连接到 Microsoft Graph Powershell 以使用新的 cmdlet。完成后请务必记住断开连接。

您喜欢这篇文章吗?您可能还喜欢安装 Exchange Online PowerShell 模块。不要忘记关注我们并分享这篇文章。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯