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

[玩转系统] 如何将 PowerShell 连接到 Office 365

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

如何将 PowerShell 连接到 Office 365


PowerShell 是管理 Office 365 环境的好方法。它允许您通过编写自己的脚本或使用单个命令更改设置来自动执行许多任务。当然,现在第一步是将 PowerShell 连接到 Office 365。

[玩转系统] 如何将 PowerShell 连接到 Office 365

在 PowerShell 中连接到 Office 365 有两种方法。适用于 Windows Powershell 的 Microsoft Azure Active Directory 模块 (MSOnline) 和较新的 Azure Active Directory PowerShell for Graph (AzureAD)。

在撰写本文时,您将需要两者,AzureAD 是 MSOnline 的后继者,但并非所有功能都在较新的 AzureAD 模块中可用。

安装 PowerShell 模块

首先,我们将安装两个 PowerShell 模块。您可以在系统上同时使用它们,不会出现任何问题。

步骤 1 - 在 PowerShell 中安装 AzureAD 模块

在管理员模式下打开 PowerShell(Windows 键 + X 并选择 Windows PowerShell(管理员)
键入以下命令:

# This will install the AzureAD module from the PowerShell Gallery, you might get a warning that the # source is untrusted, but you can safely type Y and press enter.

Install-Module AzureAD

步骤 2 - 安装 Microsoft Online Services 登录助手

MSOnline 模块需要做更多的工作。首先,下载并安装 Microsoft Online Services 登录助手。

接下来,我们将在 PowerShell 中安装该模块。在 PowerShell 中运行以下命令:

Install-Module MSOnline

将 PowerShell 连接到 Office 365

现在我们已经安装了这两个模块,因此我们现在可以将 PowerShell 连接到 Office 365。大多数文档仍然是针对 MSOnline 模块编写的,所以让我们从这里开始。

要连接到 MSOnline 服务,您需要运行命令 Connect-MSolService,这将提示您使用 Office 365 凭据的标准 Microsoft 签名框。

[玩转系统] 如何将 PowerShell 连接到 Office 365

您现在可以在 PowerShell 中使用 MSol cmdlet,您可以在 Microsoft 文档中找到 cmdlet 的概述

与 AzureAD 连接

连接新的 AzureAD 几乎相同,只需运行命令 Connect-AzureAD 即可。系统将提示您使用 Microsoft 帐户登录,就像使用 MSol 一样。可以在此处找到 AzureAD 模块中 cmdlet 的概述。

Powershell 连接到 Exchange Online

建议

我编写了一篇有关使用新的 Exchange Online V2 模块连接 Exchange Online 的更新文章。请务必先阅读该文章!

连接到 Exchange Online 有点不同,您不需要为此安装模块。但我们将通过隐式远程处理连接到 Exchange Online。

使用下面的代码,我们创建一个凭证对象,构建会话,并将其导入到我们的 PowerShell 会话中:

$Cred = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell/ -Credential $Cred -Authentication Basic -AllowRedirection
Import-PSSession $Session -DisableNameChecking

如果您使用 MFA(多重身份验证),则无法使用 Get-Credential 方法。

现在,您有两个选项可以解决此问题:使用应用程序密码或使用 Exchange Online 远程 PowerShell 模块。

我更喜欢使用应用程序密码,这样您就可以使用 PowerShell 快速建立与所有 Office 365 服务的连接。

使用应用程序密码

MFA 是一个很好的安全补充,但在使用 PowerShell 进行自动化操作时可能会很痛苦。要解决此问题,您可以在 Office 365 中创建应用程序密码。这是一个强密码,可用于不支持 MFA 的应用程序。

  1. 登录 Office 365 并转到 https://portal.office.com/account/#security。
  2. 选择附加安全验证
  3. 选择创建和管理应用密码(最后一行)
  4. 为 PowerShell 创建新的应用程序密码

现在,如果您想使用 PowerShell 连接 Office 365,您可以执行以下操作:

# Store your credentials - Enter your username and the app password
$Cred = Get-Credential

# Connect to Msol
Connect-MsolService -Credential $Cred

# Connect to AzureAd
Connect-AzureAD -Credential $Cred

# Connect to Exchange Online
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell/ -Credential $Cred -Authentication Basic -AllowRedirection
Import-PSSession $Session -DisableNameChecking

如您所见,您只需登录一次。我们可以为每个连接使用相同的凭证对象。

如果还创建了几个 PowerShell 脚本,您可以使用它们轻松连接到所有 Office 365 服务。您可以在我的 TechNet 图库中找到它们。他们能够将应用程序密码存储在您计算机上的安全字符串中,因此您可以完全自动化您的脚本。

结论

使用 PowerShell 连接到 Office 365 非常简单。如果您使用 MFA,那么应用程序密码是最方便的方法。

使用完 Exchange Online 后,请务必确保使用 Remove-PSSession $Session 关闭会话。

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

取消回复欢迎 发表评论:

关灯