有時候,用 PowerShell 連接到 Office 365 可能會有點麻煩。您必須不斷記住不同的命令和模組。讓我們改變這種情況。
在這篇文章中,您將學習如何將 PowerShell 連接到 Office 365。您將通過使用 Azure AD PowerShell for Graph 模組和 Azure Active Directory 模組 for Windows PowerShell 來實現這一點。
Microsoft 365 Backup For Dummies 電子書闡述了資料安全挑戰,概述了 Microsoft 365 中的開箱即用的安全功能。獲取電子書
先決條件
要運行本教程中的任何範例,請確保您提前具備以下內容:
- Windows PowerShell 5.1 或 PowerShell 7
- Office 365 租戶
- Microsoft Online Services 登錄助手,適用於 IT 專業人員 RTW
您可以從Microsoft 網站下載 PowerShell 7。
使用PowerShell連接到Office 365
Office 365包括並不限於以下廣泛的服務:
- Azure Active Directory。
- Exchange Online。
- Microsoft Teams。
Office 365服務都可以通過一個名為https://portal.microsoft.com的公共登陸網絡門戶訪問。該門戶可讓您訪問域設置、租戶配置、計費和管理用戶設置。但如果您需要訪問Office 365服務,例如Exchange Online或Microsoft Teams,您需要在門戶中點擊服務名稱,這將帶您進入服務管理中心,例如Exchange管理中心等。
每個服務都有自己的管理中心門戶和PowerShell模塊。因此,如果您需要連接到Exchange Online以管理用戶,您需要下載Exchange Online PowerShell模塊。如果您想管理Teams上的用戶,您需要下載Teams模塊,同樣還需要下載Azure Active Directory PowerShell模塊。
下載和安裝Office 365 PowerShell模塊
一種簡單的方法是使用PowerShell本身來查找、下載和安裝PowerShell模塊。讓我們嘗試獲取Exchange Online PowerShell模塊。首先打開PowerShell,然後輸入以下PowerShell命令行以查找與Exchange Online相關的可用模塊。

您可以使用通配符來搜索所有相關的PowerShell模塊
使用 Find-Module
命令在 PowerShell 库中搜索模块,你可能会找到多个 PowerShell 模块。我们要找的是 ExchangeOnlineManagement 模块。要下载和安装模块,请使用 Install-Module
命令
如果没有返回错误,则说明安装成功,可以开始使用该模块了。下一步是开始使用该模块
自 PowerShell 3 以来,PowerShell 可以在第一次运行与已安装模块相关的任何命令时自动导入模块。
同样的下载模块的方法也适用于任何其他模块,你只需要知道模块的名称并下载即可。
连接 PowerShell 到 Office 365 服务
每个 Office 365 都有自己的 PowerShell 模块,这使得跨服务管理有点具有挑战性。通常,任何 Office 365 模块都有一个类似的命令 Connect-*ServiceName*
- 要连接到 Exchange Online,可以使用命令
Connect-ExchangeOnline
,该命令在 ExchangeOnlineManagement 模块中可用 - 要连接到 Microsoft Teams,请使用以下命令
Connect-MicrosoftTeams
,该命令在 MicrosoftTeams 模块中可用 - 要使用 Azure AD PowerShell for Graph 连接到 Azure AD,请使用
Connect-AzureAD
,该命令在 AzureAD 模块中可用 - 要连接到 Sharepoint Online,请使用
Connect-PnPOnline
,该命令在 Microsoft.Online.SharePoint.PowerShell 模块中可用。 - 連接到 Azure AD 的 Windows PowerShell 模組,使用
Connect-MsolService
,這個命令是在 MSOnline 模組中可用的。
PowerShell Core 不支援 Azure AD 的 Windows PowerShell 模組以及名稱中帶有 Msol 的 cmdlet。
為什麼有兩個 Azure AD 模組?
在使用 PowerShell 進行 Office 365 工作時,你可能需要使用兩個不同的模組。你將使用模組名稱為 Azure Active Directory PowerShell for Graph 的模組 AzureAD,以及模組名稱為 Azure Active Directory Module for Windows PowerShell 的模組 MSOnline。
AzureAD 和 MSOnline 都允許你使用 PowerShell 來操作 Office 365 服務,那為什麼有兩個模組呢?AzureAD 是 MSOnline 的後繼者,據我所了解,它將在某個時候取代 MSOnline。所有新功能都在 AzureAD 模組中,但仍然存在與 MSOnline 模組的某些重疊。
你會發現在 MSOnline 模組中仍然存在管理使用者、群組和授權管理等任務。
如果您需要通过MFA连接到Exchange Online,Microsoft提供了一份很棒的指南,标题为“使用多因素身份验证连接到Exchange Online PowerShell”。
使用PowerShell连接到多个Office 365服务
Office 365 PowerShell模块看起来像是一个大列表,是吗?!但是可以通过以下PowerShell代码在同一个控制台中连接到所有服务,然后在同一个控制台中执行所有任务。
当连接到SharePoint时,您可能会遇到以下错误
Connect-PnPOnline: AADSTS65001: 用户或管理员未同意使用ID为‘31359c7f-bd7e-8888-86db-fdb8c937548e’、名称为‘PnP Management Shell’的应用程序。为此用户和资源发送交互式授权请求。跟踪ID: b9913a0b-b47d-4ffe-bdc7-70ed81143000
要解决此问题,请运行Register-PnPManagementShellAccess
命令,输入用户名和密码,然后确保勾选“代表您的组织同意”

始终确保您的模块是最新的,因为新功能和兼容性会经常添加,大多数Office 365 PowerShell模块现在支持多因素身份验证。
Microsoft 365備份入門電子書介紹了Microsoft 365中的即插即用安全功能,以應對數據安全挑戰。獲取電子書
摘要
Office 365擁有許多服務,但幸運的是,您可以使用PowerShell管理它們。安裝了兩個模塊並使用Connect
命令連接後,您就可以使用PowerShell來管理Office 365了!
Source:
https://adamtheautomator.com/how-to-connect-powershell-to-office-365/