Instalacja modułu Exchange Online PowerShell (krok po kroku)
By Mirko Peters ·
Zainstaluj moduł Exchange Online PowerShell poleceniem Install-Module ExchangeOnlineManagement: wymagania, zakres instalacji, sprawdzanie wersji, aktualizacje i rozwiązywanie błędów.
Automatically translated with AI from the original post. Read the English original
Aby zainstalować moduł Exchange Online PowerShell, otwórz program PowerShell jako administrator i uruchom polecenie Install-Module -Name ExchangeOnlineManagement. Spowoduje to instalację modułu dla wszystkich użytkowników komputera. Jeśli nie możesz uruchomić go jako administrator, dodaj -Scope CurrentUser, a moduł zostanie zainstalowany wyłącznie dla Twojego konta. Ten artykuł jest przeznaczony dla administratorów Exchange i Microsoft 365, którzy konfigurują nowy komputer administracyjny, serwer skoków (jump server) lub agenta kompilacji. Omawia wymagania, kroki instalacji i weryfikacji, aktualizację i usuwanie modułu oraz najczęściej spotykane błędy.
Najważniejsze wnioski
- Zainstaluj moduł Exchange Online PowerShell poleceniem Install-Module -Name ExchangeOnlineManagement, w oknie programu PowerShell uruchomionym jako administrator, dla wszystkich użytkowników.
- Jeśli nie możesz użyć uprawnień administratora, użyj parametru -Scope CurrentUser. Później aktualizuj moduł z tym samym zakresem, którego użyto podczas instalacji.
- Windows PowerShell 5.1 wymaga platformy .NET Framework 4.7.2. Obsługa w PowerShell 7 zależy od wersji modułu, a wersja 3.10.0 lub nowsza wymaga PowerShell 7.6.0.
- Wynik sprawdź poleceniem Get-InstalledModule, które pokazuje wersję oraz to, czy moduł znajduje się w lokalizacji dla wszystkich użytkowników, czy dla bieżącego użytkownika.
- Moduł nie wymaga już uwierzytelniania podstawowego (Basic) w WinRM, ponieważ jego połączenia korzystają z interfejsu REST.
Czym jest ten moduł i czego potrzebujesz na początek
Moduł nazywa się ExchangeOnlineManagement. W dokumentacji Microsoftu nosi nazwę Exchange Online PowerShell V3 module. Łączy Cię z Exchange Online PowerShell, z programem Security & Compliance PowerShell oraz z PowerShell dla wbudowanego dodatku zabezpieczeń do skrzynek lokalnych. Korzysta z nowoczesnego uwierzytelniania, dzięki czemu działa zarówno z uwierzytelnianiem wieloskładnikowym, jak i bez niego.
Jedna zmiana dotyczy starszych skryptów. Według firmy Microsoft od października 2023 r. połączenia REST API zastąpiły dawne połączenia zdalnego PowerShell z uwierzytelnianiem podstawowym. Połączenia modułu nie wymagają uwierzytelniania podstawowego w WinRM, więc nie trzeba tam nic włączać.
Przed instalacją sprawdź następujące wymagania wstępne:
- Wersja PowerShell i .NET. Windows PowerShell 5.1 wymaga platformy .NET Framework 4.7.2. Windows 11, Windows Server 2022 i Windows Server 2025 mają wbudowaną wersję 4.8.x, więc tutaj wszystko jest w porządku. PowerShell 7 również działa, a minimalna wersja zależy od wersji modułu, co wyjaśnia następna sekcja.
- Zasady wykonywania skryptów. Strona Microsoftu informuje, że bez odpowiednich zasad wykonywania pojawia się błąd „Files cannot be loaded because running scripts is disabled on this system”. Udokumentowane rozwiązanie to
Set-ExecutionPolicy RemoteSigned, uruchomione jako administrator. Przed zmianą przeczytaj stronę Microsoftu o zasadach wykonywania, a jeśli komputer jest zarządzany, najpierw skonsultuj się z zespołem bezpieczeństwa. - PowerShellGet i PackageManagement. Połączenia REST w systemie Windows wymagają modułu PowerShellGet, a PowerShellGet zależy od PackageManagement. Bez nich możesz zobaczyć błąd o brakującym poleceniu cmdlet
Update-ModuleManifest. Microsoft zwraca też uwagę, że wersje preview tych dwóch modułów mogą powodować problemy z połączeniem, i podaje polecenie, które wyświetla zainstalowane wersje:Get-InstalledModule PackageManagement -AllVersions; Get-InstalledModule PowerShellGet -AllVersions. - TLS 1.2. W Windows PowerShell 5.1 na starszym systemie Windows galeria PowerShell Gallery wymaga protokołu TLS 1.2 lub nowszego. Jeśli pobieranie kończy się błędem połączenia na starym serwerze, to pierwsza rzecz do sprawdzenia.
Bardzo stary system to ślepy zaułek. Windows 7 SP1 i Windows Server 2008 R2 SP1 obsługują jedynie moduł w wersji 2.0.3, a Microsoft podaje, że ta wersja nie może się połączyć, ponieważ nie ma obsługi REST.
Która wersja PowerShell pasuje do której wersji modułu
Windows PowerShell 5.1 działa ze wszystkimi wersjami modułu, przy zachowaniu wymagania dotyczącego .NET opisanego powyżej. Dla PowerShell 7 Microsoft podaje następujące zestawienie:
- Moduł w wersji 3.10.0 lub nowszej wymaga PowerShell 7.6.0 lub nowszego, który korzysta z .NET 10.
- Moduły w wersjach od 3.5.0 do 3.9.2 wymagają PowerShell 7.4.0 lub nowszego, który korzysta z .NET 8.
- Moduły w wersjach od 3.0.0 do 3.4.0 wymagają PowerShell 7.2.0 lub nowszego, który korzysta z .NET 6.
- Moduł w wersji 2.0.4 i nowsze wersje linii 2.x wymagają PowerShell 7.0.3.
Jeśli więc zainstalowałeś najnowszy moduł na komputerze z PowerShell 7.4, spodziewaj się kłopotów. Możesz zaktualizować PowerShell albo zainstalować starszą wersję modułu za pomocą -RequiredVersion. W chwili pisania tego tekstu Microsoft podaje 3.10.1 jako bieżącą wersję. Sprawdź stronę modułu, aby zobaczyć numer obowiązujący w momencie, gdy czytasz ten tekst.
Microsoft obsługuje też moduł w systemach Linux i macOS. W systemie Linux połączenie przez serwer proxy wymaga modułu w wersji 3.0.0 lub nowszej. W obu systemach Connect-IPPSSession, a wraz z nim Security & Compliance PowerShell, nie jest dostępne w PowerShell 7. Jeśli zarządzasz usługą Exchange Online z komputera Mac, to jedno ograniczenie warto znać przed zaplanowaniem narzędzi.
Windows 10 zasługuje na krótką uwagę. Wersje konsumenckie zakończyły wsparcie w październiku 2025 r., a Microsoft podaje, że nie obsługują .NET 8.0 ani .NET 10.0. Dla modułu w wersji 3.5.0 lub nowszej z PowerShell 7.4 lub nowszym działają wyłącznie wydania Enterprise i IoT LTSC, które nadal są objęte wsparciem.
Sprawdź wersję PowerShell przed instalacją
Dwuminutowe sprawdzenie oszczędza później wiele zgadywania. W oknie, w którym planujesz pracę, uruchom $PSVersionTable.PSVersion, aby zobaczyć, z której wersji PowerShell korzystasz. Porównaj wynik z powyższym zestawieniem. W Windows PowerShell 5.1 warto też znać wersję PowerShellGet, dlatego uruchom Get-InstalledModule PowerShellGet -AllVersions. Jeśli to polecenie wyświetli wersję preview, usuń ją lub zaktualizuj do wydania stabilnego, zanim przejdziesz dalej. Strona modułu Microsoft wskazuje wersje preview PowerShellGet i PackageManagement jako źródło problemów z połączeniem.
Zapisz wynik obok nazwy komputera, jeśli zarządzasz większą liczbą serwerów. Gdy kolega zgłosi nieudane połączenie trzy miesiące później, porównasz wersje w ciągu kilku sekund.
Jak krok po kroku zainstalować moduł PowerShell dla usługi Exchange Online
Te kroki działają w Windows PowerShell 5.1 i w PowerShell 7.
- Otwórz PowerShell. Wybierz Uruchom jako administrator, jeśli chcesz zainstalować moduł dla wszystkich użytkowników. Pomiń ten krok, jeśli planujesz instalację tylko dla bieżącego użytkownika.
- Jeśli to pierwszy moduł, który instalujesz na tym komputerze, najpierw zaktualizuj PowerShellGet, a następnie zamknij i ponownie otwórz PowerShell. Microsoft zaleca tę kolejność przed pierwszą instalacją.
- Uruchom
Install-Module -Name ExchangeOnlineManagement, aby zainstalować moduł dla wszystkich użytkowników. Dla własnego konta, wyłącznie dla siebie, uruchomInstall-Module -Name ExchangeOnlineManagement -Scope CurrentUser. - Odpowiadaj na wszystkie monity, które PowerShell wyświetli podczas instalacji. Aby pobieranie się powiodło, organizacja musi zezwalać na dostęp do galerii PowerShell Gallery.
- Sprawdź instalację poleceniem
Get-InstalledModule ExchangeOnlineManagement | Format-List Name,Version,InstalledLocation. - Przeczytaj wiersz
InstalledLocation. Ścieżka w%ProgramFiles%\WindowsPowerShell\Modules\oznacza, że moduł jest zainstalowany dla wszystkich użytkowników. Ścieżka w folderze Dokumenty oznacza, że moduł jest zainstalowany wyłącznie dla bieżącego użytkownika. - Przetestuj to w nowym oknie poleceniem
Connect-ExchangeOnline -UserPrincipalName admin@contoso.com. Szczegóły połączenia znajdziesz w artykule Connect to Exchange Online PowerShell.
Chcesz wersję podglądową? Dodaj -AllowPrerelease. Aby wybrać konkretną wersję podglądową, połącz ten parametr z -RequiredVersion. Polecenie Find-Module ExchangeOnlineManagement -AllVersions -AllowPrerelease wyświetla dostępne wersje, a pominięcie -AllowPrerelease pokazuje wyłącznie publiczne wersje. Nie instaluj wersji podglądowej na produkcyjnym serwerze administracyjnym, chyba że masz ku temu powód. Najpierw przetestuj ją na zapasowym komputerze.
Aktualizacja i odinstalowywanie modułu
Microsoft regularnie publikuje nowe wersje modułu, a informacje o wydaniach na jego stronie pokazują, co się zmieniło. Na przykład wersja 3.7.0 przestała domyślnie ładować pomoc wiersza poleceń, a wersja 3.9.2 oznaczyła parametr UseRpsSession jako przestarzały. Aktualizacja to jedno polecenie: Update-Module -Name ExchangeOnlineManagement. W przypadku instalacji dla bieżącego użytkownika dodaj -Scope CurrentUser. Microsoft zaleca użycie tego samego zakresu, którego użyto podczas instalacji. Niezgodność może skutkować instalacją w obu lokalizacjach i brakiem jasności, z której korzysta PowerShell.
Dlatego warto uruchomić sprawdzenie Get-InstalledModule z kroku 5 przed aktualizacją i po niej. Jeśli zobaczysz dwie wersje, ustal, do którego zakresu należy każda z nich.
Aby usunąć moduł, uruchom Uninstall-Module -Name ExchangeOnlineManagement. Jeśli moduł został zainstalowany dla wszystkich użytkowników, wykonaj to jako administrator. Następnie zamknij otwarte okna PowerShell, ponieważ już załadowany moduł pozostaje w pamięci do zakończenia sesji.
Naprawianie typowych błędów instalacji
Strona modułu Microsoft zawiera kilka konkretnych błędów wraz z rozwiązaniami.
- „No match was found for the specified search criteria and module name 'ExchangeOnlineManagement'”. Uruchom
Register-PSRepository -Default, co ponownie zarejestruje PowerShell Gallery jako repozytorium. Następnie spróbuj ponownie zainstalować moduł. - Błędy dotyczące PowerShellGetFormatVersion lub niemożności pobrania dostawców. Zaktualizuj PowerShellGet i uruchom ponownie PowerShell.
- Pobieranie kończy się niepowodzeniem na starszym komputerze z Windows PowerShell 5.1. PowerShell Gallery wymaga protokołu TLS 1.2 lub nowszego. Szczegóły znajdziesz we wpisie na blogu o obsłudze TLS w galerii, do którego odsyła Microsoft.
- „Files cannot be loaded because running scripts is disabled on this system”. Ustaw zasady wykonywania, jak opisano powyżej, jako administrator.
- „Cannot find a cmdlet Update-Manifest” lub podobny komunikat dotyczący
Update-ModuleManifestpodczas połączenia. Brakuje modułu PowerShellGet lub PackageManagement. Zainstaluj oba i uruchom ponownie PowerShell.
Jeśli instalacja przebiega poprawnie, ale późniejsze połączenie kończy się dziwnym błędem zestawu, zwykle przyczyną jest inny moduł w tej samej sesji. Otwórz nowe okno i połącz się najpierw.
Częste błędy
- Mieszanie zakresów. Instalacja dla wszystkich użytkowników, a następnie aktualizacja poleceniem
-Scope CurrentUser, pozostawia na komputerze dwie wersje. Wybierz jeden zakres i trzymaj się go. - Uruchamianie niewłaściwej wersji PowerShell dla modułu. Najnowszy moduł ze starszym PowerShell 7 zawodzi w sposób przypominający błędy połączenia. Porównaj swoje wersje z tabelą powyżej.
- Instalowanie wersji podglądowej na serwerze produkcyjnym. Wersje podglądowe służą do testów. Do codziennej pracy używaj publicznej wersji.
- Ignorowanie PowerShellGet. Brakujący lub podglądowy PowerShellGet może zakłócać połączenia REST, jak opisano na stronie Microsoft. Sprawdź go w pierwszej kolejności, gdy świeża instalacja nie może się połączyć.
- Korzystanie z przestarzałych poradników. Przewodniki, które każą włączyć uwierzytelnianie podstawowe w WinRM, opisują wycofaną metodę zdalnego PowerShell. Nie jest ona potrzebna.
Powiązane tematy do zgłębienia
- Łączenie z modułem: po instalacji kolejne pytanie dotyczy logowania, z uwierzytelnianiem MFA lub bez niego. Odpowiedzi znajdziesz w artykule o module Exchange Online PowerShell i jego artykule towarzyszącym o połączeniu.
- Uwierzytelnianie aplikacji (app-only): zaplanowane skrypty wymagają certyfikatu lub tożsamości zarządzanej, a nie wpisywanego hasła.
- Korzystanie z modułu w PowerShell 7 w systemach Linux i macOS: obsługiwane wersje różnią się w zależności od systemu operacyjnego, więc najpierw sprawdź listę zgodności.
- Kontrolowanie, kto może korzystać z PowerShell: administrator Exchange może włączyć lub wyłączyć dostęp do Exchange Online PowerShell dla poszczególnych użytkowników.
- Utrzymywanie modułów w aktualności: ustaw regularne przypomnienie o sprawdzaniu nowych wersji modułu, ponieważ firma Microsoft od czasu do czasu podnosi minimalną wymaganą wersję PowerShell.
Następny krok
Aby zainstalować moduł Exchange Online PowerShell, uruchom polecenie Install-Module -Name ExchangeOnlineManagement, zweryfikuj instalację poleceniem Get-InstalledModule i przy każdej kolejnej aktualizacji zachowuj ten sam zakres. Następnie połącz się poleceniem Connect-ExchangeOnline w nowym oknie i uruchom Get-AcceptedDomain, aby potwierdzić, że konfiguracja działa.