Łączenie usługi Office 365 Exchange Online z PowerShell: przewodnik krok po kroku

Zarządzanie usługą Microsoft 365 wraz ze wszystkimi aplikacjami za pomocą graficznego interfejsu użytkownika (GUI) w przeglądarce internetowej może być wygodne — ale tylko do pewnego stopnia. Dwa interfejsy, z których specjaliści IT korzystają najczęściej, to Centrum administracyjne Exchange oraz Centrum administracyjne Office 365. Jednak gdy trzeba zarządzać setkami kont Microsoft 365 w całej organizacji, bardziej wydajnym rozwiązaniem może okazać się interfejs wiersza poleceń (CLI). Można go używać do stosowania poleceń Exchange Online niedostępnych w Centrum administracyjnym.

Jako administrator możesz zarządzać serwerem Microsoft Exchange za pomocą interfejsu wiersza poleceń w środowisku PowerShell firmy Microsoft. Problem polega na tym, że zwykłe polecenia cmdlet, które można używać lokalnie na serwerze Exchange, nie będą pasować do opartego na chmurze Exchange Online. Aby włączyć polecenia cmdlet PowerShell w Office 365, należy zainstalować moduły Exchange Online Powershell. W tym poście wyjaśniamy różne sposoby połączenia Exchange Online z PowerShell. Korzystanie z poleceń cmdlet w Exchange Online pomaga usprawnić zarządzanie, oszczędzając w ten sposób czas i wysiłek.

Kopia zapasowa dla Microsoft 365

Kopia zapasowa dla Microsoft 365

Skorzystaj z rozwiązania NAKIVO do wykonywania kopii zapasowych danych Microsoft 365 w usługach Exchange Online, Teams, OneDrive i SharePoint Online, aby zapewnić nieprzerwany przebieg procesów i całkowity brak przestojów.

Przygotowanie środowiska

Wymagania systemowe

Aby połączyć usługę Exchange Online z platformą PowerShell, upewnij się, że system spełnia następujące wymagania:

  • System Windows 7 z dodatkiem SP1 lub nowsza wersja systemu Windows dla komputerów stacjonarnych oraz system Windows Server 2008 R2 z dodatkiem SP1 lub nowsza wersja systemu Windows dla serwerów. Oprócz środowiska Windows Management Framework 3.0, 4.0 lub 5.1 wymagana jest zainstalowana platforma .NET Framework 4.5 lub nowsza.
  • Połączenie internetowe: Otwórz port TCP 80, aby nawiązać połączenie między komputerem lokalnym a hostem docelowym.
  • Obecny użytkownik z Exchange Online PowerShell ma włączony dostęp. Konta administratorów mają ten dostęp domyślnie.

    Możesz włączyć dostęp do połączenia z Exchange Online PowerShell dla konkretnego konta za pomocą następującego polecenia cmdlet:

    Set-User -Identity user@domain.com -RemotePowerShellEnabled $true

Instalowanie modułu Exchange Online PowerShell

Instalacja modułu Exchange Online PowerShell jest konieczna, ponieważ zawiera on polecenia cmdlet, a tym samym umożliwia zarządzanie usługą Exchange dla dzierżawcy. W tym przewodniku instalujemy moduł Exchange Online V2 PowerShell.

Możesz jednak sprawdzić, czy moduł Exchange Online jest już zainstalowany na komputerze klienckim. Aby to zrobić, uruchom następujące polecenie cmdlet:

Get-Module -ListAvailable -Name ExchangeOnlineManagement

Jeśli nie znajdziesz modułu, kontynuuj instalację. Moduł Exchange Online PowerShell można zainstalować za pomocą jednego polecenia PowerShell. Aby rozpocząć proces, uruchom Windows PowerShell jako administrator, a następnie wykonaj następujący cmdlet:

#Install Exchange Online Management Module

Install-Module -Name ExchangeOnlineManagement -Force

Jeśli system wymaga potwierdzenia instalacji z niezaufanego repozytorium, naciśnij Y , aby kontynuować.

Jeśli moduł Exchange Online PowerShell nie jest obecny w systemie, wyświetlany jest następujący komunikat o błędzie:

Connect-ExchangeOnline: Termin „Connect-ExchangeOnline” nie jest rozpoznawany jako nazwa polecenia cmdlet, funkcji, pliku skryptu ani programu operacyjnego.

Moduł można zaktualizować za pomocą tego polecenia cmdlet:

Update-Module ExchangeOnlineManagement

Konfigurowanie połączenia

W tym przewodniku omówiono dwie główne metody łączenia programu PowerShell z usługą Exchange Online: konfigurację ręczną i automatyczną.

Konfiguracja ręczna

Zacznijmy od metody ręcznej, aby lepiej zrozumieć proces konfiguracji:

  1. Otwórz Windows PowerShell i wybierz jedną z poniższych opcji, aby kontynuować:
    • Naciśnij Start, wpisz cmd, a następnie kliknij prawym przyciskiem myszy pozycję Command Prompt . W menu kontekstowym wybierz Run as Administrator.
    • LUB przejdź do Start > Windows PowerShell. Kliknij prawym przyciskiem myszy ikonę Windows PowerShell, a następnie wybierz z menu kontekstowego opcję „ Run as Administrator ”. Uruchomienie programu PowerShell w trybie administratora umożliwia wykonywanie poleceń cmdlet bez ograniczeń.
  2. Aby korzystać z programu PowerShell w sposób prawidłowy, należy włączyć obsługę skryptów. Aby umożliwić wykonywanie skryptów, należy ustawić zasadę na RemoteSigned . Uruchom to polecenie, aby ustawić zasadę wykonywania:

    Set-ExecutionPolicy RemoteSigned

    Rozważ uruchomienie tego polecenia cmdlet zaraz po rozpoczęciu konfiguracji programu PowerShell do zarządzania usługami Exchange Online i Microsoft 365. W przeciwnym razie kolejne próby uruchomienia polecenia Import-PSSession spowodują wyświetlenie następującego błędu:

    Import-PSSession : Nie można załadować plików, ponieważ w tym systemie wyłączono uruchamianie skryptów. Podaj prawidłowy certyfikat, którym należy podpisać pliki .

  3. Jeśli system zażąda potwierdzenia, naciśnij Y , aby potwierdzić zmianę zasad. Można również użyć polityki Unrestricted z tym poleceniem cmdlet:

    Set-ExecutionPolicy Unrestricted

    Domyślnie tryb polityki wykonywania to Restricted .

  4. Aby umożliwić dostęp do Exchange Online, należy utworzyć obiekt poświadczeń i podać login administratora oraz hasło w wyskakującym oknie. Użytkownik uzyskujący dostęp musi posiadać uprawnienia globalnego administratora Microsoft 365.

    $Credential=Get-Credential

  5. Następnie system zapisuje podane poświadczenia jako zmienną $Credential do wykorzystania w poniższym poleceniu.
  6. Użyj polecenia cmdlet New-PSSession , aby utworzyć zdalną sesję PowerShell. Uruchom następujące polecenie:

    $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $Credential -Authentication Basic -AllowRedirection

    Uwaga: W tym poleceniu cmdlet ustawiamy docelowy adres URL serwera Exchange Online w chmurze, który musi zaakceptować żądanie. Po uruchomieniu polecenia serwery chmurowe Microsoft 365 zapewniają dostęp do wirtualnego serwera Exchange Online powiązanego z bieżącym kontem Microsoft 365.

  7. Musisz zaimportować polecenia cmdlet Exchange Online PowerShell do bieżącej sesji. Oto polecenie, którego należy użyć:

    Import-PSSession $Session

    Podczas procesu importowania widoczny jest pasek postępu.

  8. Po pomyślnym zakończeniu polecenia wyświetla się następujący komunikat:

    Command successfully completed

    UWAGA: W przypadku uwierzytelniania wieloskładnikowego (MFA) używanego dla konta Microsoft 365 standardowe polecenia cmdlet, o których wspomnieliśmy wcześniej, nie będą działać. Aby połączyć się z usługą Exchange Online za pomocą PowerShell przy włączonym uwierzytelnianiu wieloskładnikowym (MFA), uruchom następujące polecenie:

    Connect-EXOPSSession -UserPrincipalName YOUR_UPN

    W tym poleceniu cmdlet YOUR_UPN oznacza nazwę użytkownika (User Principal Name), czyli nazwę konta Microsoft 365, z którego korzystasz. Być może konieczne będzie zainstalowanie innego modułu: modułu Microsoft Exchange Online Remote PowerShell Module.

    Pamiętaj, że korzystanie z tego modułu może być niewygodne w przypadku uruchamiania skryptów wymagających dużej ilości czasu, ponieważ sesja kończy się po upływie godziny od momentu rozpoczęcia korzystania z niego. Rozważ również użycie Zaufanych adresów IP (czyli adresów IP Twojej organizacji). Może to pomóc w ominięciu uwierzytelniania wieloskładnikowego (MFA) podczas łączenia się z Exchange Online PowerShell z sieci Twojej organizacji.

  9. Po nawiązaniu połączenia z Microsoft 365 i Exchange Online możesz rozpocząć zarządzanie swoim środowiskiem chmury Office 365. Możesz uruchomić polecenie cmdlet, aby sprawdzić, czy połączenie działa. Na przykład spróbuj wyświetlić listę dostępnych skrzynek pocztowych za pomocą tego polecenia:

    Get-Mailbox

    Następujący cmdlet może wyświetlić listę dostępnych poleceń Exchange Online PowerShell:

    Get-Command -Module tmp*

  10. Po zakończeniu pracy z Exchange tutaj, zakończ sesję. Praktyka ta jest zalecana zarówno ze względów bezpieczeństwa, jak i optymalizacji wydajności. Oto cmdlet:

    Remove-PSSession $Session

    UWAGA: Po wykonaniu tego polecenia nie zobaczysz żadnego komunikatu. Aby sprawdzić, czy sesja została pomyślnie usunięta, możesz użyć tego samego Get-MailBox polecenia. Jeśli sesja została rozłączona, pojawi się komunikat o błędzie informujący, że uruchomienie poleceń cmdlet Exchange Online jest niemożliwe.

Liczba sesji, które można otworzyć jednocześnie, jest ograniczona. Można uruchomić trzy sesje jednocześnie, a jeśli żadna z nich nie zostanie rozłączona, przed połączeniem się z Exchange Online PowerShell za pomocą nowej sesji z innej konsoli PowerShell należy poczekać na wygaśnięcie sesji.

Konfiguracja automatyczna

Oprócz podejścia ręcznego można połączyć PowerShell i Exchange Online, korzystając z funkcji automatyzacji PowerShell. Automatyzacja zmniejsza liczbę poleceń, które trzeba użyć, przyspieszając w ten sposób proces konfiguracji.

Postępuj w następujący sposób:

  1. Pobierz skrypt. W naszym przykładzie plik skryptu nosi nazwę ConnectExchangeOnlinePowerShell.ps1
  2. Znajdź plik skryptu w katalogu po pobraniu. Skrypt znajduje się pod adresem C:temp_win .
  3. Przed uruchomieniem skryptu należy ustawić zasady wykonywania skryptów na RemoteSigned za pomocą tego polecenia cmdlet:

    Set-ExecutionPolicy RemoteSigned

    Pozwoli to uniknąć następującego błędu:

    Plik C:temp_winConnectExchangeOnlinePowerShell.ps1 nie jest podpisany cyfrowo. Nie można uruchomić tego skryptu w bieżącym systemie .

    Zastosowanie Bypass zasad wykonywania również pozwala uniknąć tego problemu. Oto wymagany cmdlet:

    Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass

  4. Potwierdź zmiany w zasadach wykonywania, wpisując Y.
  5. Teraz możesz kontynuować skrypt. Jeśli dla Twojego konta Microsoft 365 nie jest włączone uwierzytelnianie wieloskładnikowe (MFA), skrypt nie będzie wymagał dodatkowych argumentów:

    .ConnectExchangeOnlinePowerShell.ps1

    Jeśli w Twoim środowisku Microsoft 365 jest włączone uwierzytelnianie wieloskładnikowe (MFA), użyj polecenia w następujący sposób:

    .ConnectExchangeOnlinePowerShell.ps1 -MFA

  6. Po pomyślnym nawiązaniu połączenia między Exchange Online a PowerShell możesz zacząć używać poleceń cmdlet do zarządzania kontami użytkowników, skrzynkami pocztowymi i innymi elementami, a także przepływami pracy. Na przykład za pomocą tego polecenia cmdlet możesz uzyskać listę dostępnych skrzynek pocztowych użytkowników:

    Get-Mailbox

    Możesz też użyć skryptu do planowania i dalszej automatyzacji przepływów pracy. Na przykład połącz się z Exchange Online bez podawania poświadczeń. Skrypt pozwala dodać login i hasło jako opcje wykonania:

    ./ConnectExchangeOnlinePowerShell.ps1 -UserName admin@your_domain.com -Password your_password

    Należy pamiętać, że podawanie haseł w postaci zwykłego tekstu w wierszu poleceń skryptu może stanowić zagrożenie dla bezpieczeństwa w przypadku naruszenia danych.

  7. Ograniczenie dotyczące maksymalnie trzech uruchomionych sesji nadal obowiązuje, dlatego po zakończeniu pracy z Exchange Online PowerShell warto zamknąć sesję. Polecenie cmdlet służące do zamknięcia sesji wygląda następująco:

    ./ConnectExchangeOnlinePowerShell.ps1 -Disconnect

Jak zarządzać Exchange Online za pomocą PowerShell w systemie macOS

Istnieje kilka sposobów instalacji PowerShell w systemie macOS. Najwygodniejszą i najprostszą metodą jest pobranie klienta bezpośrednio ze strony Strona internetowa firmy Microsoft. PowerShell obsługuje procesory Apple Silicon w wersji 7.2 lub nowszej.

Należy pamiętać, że wymagany jest komputer Mac z systemem macOS 11 Big Sur lub nowszym. Po zainstalowaniu pakietu PowerShell na takim urządzeniu należy skorzystać z opisanego powyżej ręcznego lub automatycznego sposobu konfiguracji, aby połączyć PowerShell z Exchange Online.

Korzystanie z PowerShell w usłudze Exchange Online

Dzięki poleceniom cmdlet PowerShell można zoptymalizować czas i wysiłek poświęcany na zarządzanie usługą Exchange Online.

Niektóre z podstawowych poleceń cmdlet wyglądają następująco:

  • New-Mailbox – tworzenie nowej skrzynki pocztowej użytkownika
  • Set-Mailbox – dostosowywanie ustawień istniejącej skrzynki pocztowej
  • Get-Mailbox to wyświetlanie informacji o dostępnych skrzynkach pocztowych w całym środowisku
  • Remove-Mailbox to usuwanie skrzynki pocztowej z Exchange Online

Aby wyświetlić listę dostępnych poleceń cmdlet PowerShell, użyj tego polecenia:

Get-command -Module ExchangeOnlineManagement

Na koniec sprawdź ten przykładowy skrypt. Skrypt pozwala pobrać wszystkie skrzynki pocztowe z Exchange Online:

#Import PowerShell module for Exchange Online
Import-Module ExchangeOnlineManagement

#Connect to Exchange Online
Connect-ExchangeOnline -Credential (Get-Credential) -ShowBanner:$False

#Get All Mailboxes
Get-EXOMailbox | Format-table UserPrincipalName,DisplayName

#Disconnect Exchange Online
Disconnect-ExchangeOnline -Confirm:$False

Wnioski

Połączenie Exchange Online z PowerShell umożliwia szybkie i wygodne zarządzanie skrzynkami pocztowymi Exchange. Dodatkowo można używać skryptów do automatyzacji działań, zmian i dostosowań dla wielu kont jednocześnie, zwiększając wydajność operacyjną.

Biorąc pod uwagę, że Microsoft nie oferuje natywnych narzędzi do wykonania kopii zapasowej dla Exchange Online, Microsoft Teams, OneDrive i SharePoint Online, należy korzystać z dedykowanego rozwiązania do wykonania kopii zapasowej, aby zapobiec utracie danych w chmurze. NAKIVO Backup & Replication to uniwersalne rozwiązanie do ochrony danych, które pozwala wysyłać kopie zapasowe danych z Microsoft 365 do różnych miejsc przechowywania, w tym do chmur publicznych.

Wypróbuj NAKIVO Backup & Replication

Wypróbuj NAKIVO Backup & Replication

Skorzystaj z bezpłatnej wersji próbnej, aby poznać wszystkie funkcje rozwiązania w zakresie ochrony danych. 15 dni za darmo. Bez żadnych ograniczeń dotyczących funkcji ani pojemności. Nie trzeba podawać danych karty kredytowej.

People also read