在單一 PowerShell 視窗中連線至所有 Microsoft 365 服務

使用 PowerShell 管理 Microsoft 365 時,可以同時開啟多個 PowerShell 工作階段。 您可能會有不同的 PowerShell 視窗來管理使用者帳戶、SharePoint Online、Exchange Online、Microsoft Teams、適用於 Office 365 的 Microsoft Defender 功能 (安全性),以及 Microsoft Purview 合規性功能。

此案例對於管理 Microsoft 365 而言並不理想,因為您無法在用於交叉服務管理的那些視窗之間交換資料。 本文章說明如何使用 PowerShell 的單一執行個體來管理 Microsoft 365 帳戶、Exchange Online、SharePoint Online、Microsoft Teams、以及適用於 Office 365 Microsoft Purview 合規性之 Defender 中的功能。

注意事項

本文目前僅包含用來連線至全球 (+GCC) 雲端的命令。 附註提供有關如何連線到其他 Microsoft 365 雲端之文章的連結。

開始之前

在您可以從 PowerShell 的單一執行個體管理所有 Microsoft 365 之前,請考慮下列先決條件:

  • 您使用的 Microsoft 365 公司或學校帳戶必須是 Microsoft 365 系統管理員角色的成員。 如需詳細資訊,請參閱關於系統管理員角色。 這是對 Microsoft 365 的 PowerShell 需求,但並非所有其他 Microsoft 365 服務的需求。

  • 您可以使用下列 Windows 64 位元版本:

    • Windows 11

    • Windows 10

    • Windows 8.1 或 Windows 8

    • Windows Server 2019

    • Windows Server 2016

    • Windows Server 2012 R2 或 Windows Server 2012

    • Windows 7 Service Pack 1 (SP1)*

    • Windows Server 2008 R2 SP1*

      * 您需要安裝 Microsoft .NET Framework 4.5。x,然後 Windows Management Framework 3.0 或 4.0。 如需詳細資訊,請參閱 Windows Management Framework

  • 您必須安裝 Microsoft Entra ID、Exchange Online、適用於 Office 365 的 Defender、Microsoft Purview 合規性、SharePoint Online 和 Teams 所需的模組:

  • 必須將 PowerShell 設定為執行 Exchange Online、適用於 Office 365 的 Defender 和 Microsoft Purview 合規性的已簽署指令碼。 在提高權限的 PowerShell 工作階段 (以系統管理員身份執行的 PowerShell 執行階段) 中執行以下命令。

    Set-ExecutionPolicy RemoteSigned
    

聯機步驟

請遵循下列步驟來連線到單一 PowerShell 視窗中的所有服務。

  1. 開啟 [Windows PowerShell]。

  2. 執行此指令並輸入您的 Microsoft 365 公司或學校帳戶憑證。

    $credential = Get-Credential
    
  3. 執行此命令,以使用 Microsoft Graph PowerShell SDK 連線到 Microsoft Entra ID。

    注意事項

    Azure Active Directory (AzureAD) PowerShell 模組即將淘汰,並由 Microsoft Graph PowerShell SDK 取代。 您可以使用 Microsoft Graph PowerShell SDK 來存取所有的 Microsoft Graph API。 如需詳細資訊,請參閱 開始使用 Microsoft Graph PowerShell SDK

    另請參閱 安裝 Microsoft Graph PowerShell SDK從 Azure AD PowerShell 升級至 Microsoft Graph PowerShell ,以取得如何分別安裝和升級至 Microsoft Graph PowerShell 的相關信息。

    Microsoft Graph PowerShell SDK 支援兩種驗證類型:委派存取和僅限應用程式存取。 在此範例中,您將使用委派的存取權以使用者身分登入、同意 SDK 代表您採取行動,然後呼叫 Microsoft Graph。

    如需針對自動案例使用僅限應用程式存取的詳細資訊,請參閱 搭配 Microsoft Graph PowerShell SDK 使用僅限應用程式驗證

    判斷必要的許可權範圍

    Microsoft Graph 中的每個 API 都會受到一或多個許可權範圍的保護。 登入的用戶必須同意您計劃使用之 API 的其中一個必要範圍。 在此範例中,我們將使用下列 API。

    • 列出用戶以尋找登入使用者的使用者標識碼。
    • 列出 joinedTeams 以取得用戶所屬的 Teams。
    • 列出頻道以取得小組中的頻道。
    • 傳送訊息以將訊息傳送至小組的通道。

    User.Read.All 許可權範圍會啟用前兩個呼叫,而 Group.ReadWrite.All 範圍會啟用其餘的呼叫。 這些許可權需要系統管理員帳戶。

    如需如何判斷您需要哪些許可權範圍的詳細資訊,請參閱 使用 Find-MgGraphCommand

    聯機到 Microsoft Graph

    若要連線到您的 Microsoft 365 組織,請使用範例許可權範圍執行下列命令:

    Connect-MgGraph -Scopes "User.Read.All","Group.ReadWrite.All"
    

    命令會提示您移至網頁,以使用您的認證登入。 完成之後,命令會顯示 [歡迎使用 Microsoft Graph!] 訊息成功。 每個會話只需要登入一次。 目前不支援將認證傳遞至 Connect-MgGraph Cmdlet。

    提示

    您可以使用新的許可權範圍重複 Connect-MgGraph 命令,以累加許可權。

  4. 執行這些指令,以連線到 SharePoint Online。 指定您網域的組織名稱。 例如,針對 「litwareinc.onmicrosoft.com」,組織名稱值為 「litwareinc」。。

    $orgName="<for example, litwareinc for litwareinc.onmicrosoft.com>"
    Import-Module Microsoft.Online.SharePoint.PowerShell -DisableNameChecking
    Connect-SPOService -Url https://$orgName-admin.sharepoint.com -Credential $Credential
    
  5. 執行這些命令,以連線到 Exchange Online。

    Import-Module ExchangeOnlineManagement
    Connect-ExchangeOnline -ShowProgress $true
    

    注意事項

    若要連線至「全球」以外適用於 Microsoft 365 的 Exchange Online 雲端,請參閱連線至 Exchange Online PowerShell

  6. 執行這些命令以連線到安全性與合規性 PowerShell。

    $acctName="<UPN of the account, such as belindan@litwareinc.onmicrosoft.com>"
    Connect-IPPSSession -UserPrincipalName $acctName
    

    注意事項

    若要連線到 Microsoft 365 雲端 (而非 [Worldwide]) 的安全性與合規性 PowerShell,請參閱連線到安全性與合規性 PowerShell

  7. 執行這些命令,以連線到 Teams PowerShell。

    Import-Module MicrosoftTeams
    $credential = Get-Credential
    Connect-MicrosoftTeams -Credential $credential
    

    注意事項

    商務用 Skype Online 連接器目前是最新 Teams PowerShell 模組的一部分。 如果您使用的是最新的 Teams PowerShell 公開發行版本,則不需要安裝商務用 Skype Online 連接器。

    若要連線到 Microsoft Teams 雲端 (而非 [全球]),請參閱 Connect-MicrosoftTeams

關閉 PowerShell 視窗

若要關閉 PowerShell 視窗,請執行此命令以移除連線至 SharePoint Online、Teams、適用於 Office 365 的 Defender 以及 Microsoft Purview 合規性的作用中工作階段:

Disconnect-SPOService; Disconnect-MicrosoftTeams; Disconnect-ExchangeOnline

請參閱