M365Con 2027 – gratis online conferentie · 11–22 Jan 2027 · 120 sessions→ m365con.net

Blog · Mirko Peters

Installeer de Exchange Online PowerShell-module (stap voor stap)

By ·

Installeer de Exchange Online PowerShell-module met Install-Module ExchangeOnlineManagement: vereisten, bereik, versiecontrole, updates en oplossingen voor fouten.

Automatically translated with AI from the original post. Read the English original

Om de Exchange Online PowerShell-module te installeren, open je PowerShell als beheerder en voer je Install-Module -Name ExchangeOnlineManagement uit. Daarmee installeer je de module voor alle gebruikers op de computer. Kun je het niet als beheerder uitvoeren, voeg dan -Scope CurrentUser toe; dan installeer je de module alleen voor je eigen account. Dit artikel is bedoeld voor Exchange- en Microsoft 365-beheerders die een nieuwe beheer-pc, een jump server of een build agent inrichten. Het behandelt de vereisten, de installatie- en verificatiestappen, het bijwerken en verwijderen van de module, en de fouten waar mensen het vaakst tegenaan lopen.

Belangrijkste punten

  • Installeer de Exchange Online PowerShell-module met Install-Module -Name ExchangeOnlineManagement, in een PowerShell-venster dat je als beheerder hebt geopend, voor alle gebruikers.
  • Gebruik -Scope CurrentUser als je geen beheerdersrechten kunt gebruiken. Werk de module later bij met hetzelfde bereik als waarmee je hem hebt geïnstalleerd.
  • Windows PowerShell 5.1 heeft .NET Framework 4.7.2 nodig. De ondersteuning voor PowerShell 7 hangt af van de moduleversie: vanaf 3.10.0 heb je PowerShell 7.6.0 of later nodig.
  • Controleer het resultaat met Get-InstalledModule. Dat toont de versie en of de module in de locatie voor alle gebruikers of voor de huidige gebruiker staat.
  • De module heeft geen Basic-authenticatie in WinRM meer nodig, omdat de verbindingen ervan REST gebruiken.

Wat de module is en wat je vooraf nodig hebt

De module heet ExchangeOnlineManagement. In de documentatie van Microsoft heet die de Exchange Online PowerShell V3-module. Hiermee maak je verbinding met Exchange Online PowerShell, met Security & Compliance PowerShell en met PowerShell voor de ingebouwde beveiligingsadd-on voor on-premises mailboxen. De module gebruikt moderne authenticatie, dus die werkt met of zonder multifactorauthenticatie.

Eén wijziging raakt oudere scripts. Volgens Microsoft vervangen sinds oktober 2023 REST API-verbindingen de oude externe PowerShell-verbindingen met Basic-authenticatie. De verbindingen van de module hebben geen Basic-authenticatie in WinRM nodig, dus daar hoef je niets in te schakelen.

Controleer deze vereisten voordat je installeert:

  • PowerShell-versie en .NET. Windows PowerShell 5.1 heeft .NET Framework 4.7.2 nodig. Windows 11, Windows Server 2022 en Windows Server 2025 hebben 4.8.x al aan boord, dus daar zit je goed. PowerShell 7 werkt ook; de minimumversie hangt af van de moduleversie, wat de volgende sectie uitlegt.
  • Uitvoeringsbeleid. Volgens de pagina van Microsoft krijg je zonder een geschikt uitvoeringsbeleid de fout "Files cannot be loaded because running scripts is disabled on this system". De gedocumenteerde oplossing is Set-ExecutionPolicy RemoteSigned, uitgevoerd als beheerder. Lees de pagina van Microsoft over uitvoeringsbeleid voordat je het wijzigt, en vraag je security-team eerst om toestemming als de computer wordt beheerd.
  • PowerShellGet en PackageManagement. REST-verbindingen op Windows hebben PowerShellGet nodig, en PowerShellGet is afhankelijk van PackageManagement. Zonder deze modules krijg je mogelijk een foutmelding over een ontbrekende Update-ModuleManifest-cmdlet. Microsoft waarschuwt ook dat preview-versies van deze twee modules verbindingsproblemen kunnen veroorzaken. Het geeft een commando om de geïnstalleerde versies weer te geven: Get-InstalledModule PackageManagement -AllVersions; Get-InstalledModule PowerShellGet -AllVersions.
  • TLS 1.2. Op Windows PowerShell 5.1 met een oudere versie van Windows vereist de PowerShell Gallery TLS 1.2 of hoger. Als het downloaden mislukt met een verbindingsfout op een oude server, is dit het eerste wat je moet controleren.

Een heel oud systeem is een doodlopende weg. Windows 7 SP1 en Windows Server 2008 R2 SP1 krijgen alleen moduleversie 2.0.3, en Microsoft zegt dat deze versie geen verbinding kan maken omdat REST-ondersteuning ontbreekt.

Welke PowerShell-versie bij welke moduleversie past

Windows PowerShell 5.1 werkt met alle moduleversies, met de .NET-vereiste hierboven. Voor PowerShell 7 geeft Microsoft deze koppeling:

  • Module 3.10.0 of later vereist PowerShell 7.6.0 of later, dat gebruikmaakt van .NET 10.
  • Modules 3.5.0 tot en met 3.9.2 vereisen PowerShell 7.4.0 of later, dat gebruikmaakt van .NET 8.
  • Modules 3.0.0 tot en met 3.4.0 vereisen PowerShell 7.2.0 of later, dat gebruikmaakt van .NET 6.
  • Module 2.0.4 en latere versies van de 2.x-reeks vereisen PowerShell 7.0.3.

Als je dus de nieuwste module hebt geïnstalleerd op een machine met PowerShell 7.4, verwacht dan problemen. Werk PowerShell bij, of installeer een oudere moduleversie met -RequiredVersion. Op het moment van schrijven noemt Microsoft 3.10.1 als huidige versie. Controleer de modulepagina voor het versienummer dat geldt wanneer je dit leest.

Microsoft ondersteunt de module ook op Linux en macOS. Op Linux vereist verbinding via een proxy moduleversie 3.0.0 of later. Op beide systemen is Connect-IPPSSession, en daarmee Security & Compliance PowerShell, niet beschikbaar in PowerShell 7. Als je Exchange Online vanaf een Mac beheert, is dat de enige beperking om te kennen voordat je je tooling gaat plannen.

Windows 10 verdient een korte toelichting. De consumentenedities hebben in oktober 2025 het einde van de ondersteuning bereikt, en Microsoft zegt dat ze .NET 8.0 en .NET 10.0 niet ondersteunen. Voor module 3.5.0 en later met PowerShell 7.4 of later werken alleen de Enterprise- en IoT LTSC-edities die nog ondersteund worden.

Controleer je PowerShell-versie voordat je installeert

Een controle van twee minuten voorkomt later veel giswerk. Voer in het venster waarin je wilt werken $PSVersionTable.PSVersion uit om te zien welke PowerShell-versie je gebruikt. Vergelijk het resultaat met de koppeling hierboven. Op Windows PowerShell 5.1 wil je ook weten welke PowerShellGet-versie er staat, dus voer Get-InstalledModule PowerShellGet -AllVersions uit. Als dat commando een preview-versie toont, verwijder deze dan of werk bij naar een stabiele release voordat je verder gaat. De modulepagina van Microsoft noemt preview-builds van PowerShellGet en PackageManagement als bron van verbindingsproblemen.

Noteer het resultaat naast de machinenaam als je meer dan een handvol servers beheert. Als een collega over drie maanden meldt dat een verbinding mislukt, kun je de versies in enkele seconden vergelijken.

Stap voor stap de Exchange Online PowerShell-module installeren

Deze stappen werken in Windows PowerShell 5.1 en in PowerShell 7.

  1. Open PowerShell. Kies Als administrator uitvoeren als je wilt installeren voor alle gebruikers. Sla dit over als je alleen voor de huidige gebruiker wilt installeren.
  2. Als dit de eerste module is die je op de machine installeert, werk dan eerst PowerShellGet bij en sluit daarna PowerShell en open het opnieuw. Microsoft adviseert deze volgorde vóór de eerste installatie.
  3. Voer Install-Module -Name ExchangeOnlineManagement uit voor alle gebruikers. Voor alleen je eigen account voer je Install-Module -Name ExchangeOnlineManagement -Scope CurrentUser uit.
  4. Beantwoord eventuele vragen die PowerShell tijdens de installatie stelt. Je organisatie moet toegang tot de PowerShell Gallery toestaan, anders lukt het downloaden niet.
  5. Controleer de installatie met Get-InstalledModule ExchangeOnlineManagement | Format-List Name,Version,InstalledLocation.
  6. Lees de regel InstalledLocation. Een pad onder %ProgramFiles%\WindowsPowerShell\Modules\ betekent dat de module voor alle gebruikers is geïnstalleerd. Een pad in je map Documenten betekent dat de module alleen voor de huidige gebruiker is geïnstalleerd.
  7. Test het in een nieuw venster met Connect-ExchangeOnline -UserPrincipalName admin@contoso.com. Voor de verbindingsgegevens zie het artikel Connect to Exchange Online PowerShell.

Wil je een preview-build? Voeg dan -AllowPrerelease toe. Om een specifieke preview te kiezen, combineer je dit met -RequiredVersion. Met Find-Module ExchangeOnlineManagement -AllVersions -AllowPrerelease zie je wat er beschikbaar is, en als je -AllowPrerelease weglaat, zie je alleen de publieke versies. Zet een preview-build niet op een productie-adminserver tenzij je een reden hebt. Test hem eerst op een reservemachine.

De module bijwerken en verwijderen

Microsoft publiceert regelmatig nieuwe moduleversies, en in de releasenotes op de modulepagina zie je wat er is veranderd. Versie 3.7.0 laadt bijvoorbeeld de opdrachtregelhulp niet meer standaard, en versie 3.9.2 heeft de parameter UseRpsSession als verouderd gemarkeerd. Bijwerken kan met één regel: Update-Module -Name ExchangeOnlineManagement. Voor een installatie voor de huidige gebruiker voeg je -Scope CurrentUser toe. Volgens Microsoft gebruik je dezelfde scope als waarmee je hebt geïnstalleerd. Een mismatch kan ertoe leiden dat je de module op twee locaties hebt staan, zonder duidelijk zicht op welke PowerShell gebruikt.

Daarom is de controle met Get-InstalledModule uit stap 5 de moeite waard, zowel vóór als na een update. Zie je twee versies, dan achterhaal je bij welke scope elke versie hoort.

Om de module te verwijderen, voer je Uninstall-Module -Name ExchangeOnlineManagement uit. Als de module voor alle gebruikers is geïnstalleerd, doe je dat als beheerder. Sluit daarna je geopende PowerShell-vensters, want een module die al is geladen blijft in het geheugen tot de sessie eindigt.

Veelvoorkomende installatiefouten oplossen

De modulepagina van Microsoft noemt een paar specifieke fouten en oplossingen.

  • "No match was found for the specified search criteria and module name 'ExchangeOnlineManagement'". Voer Register-PSRepository -Default uit, waarmee de PowerShell Gallery opnieuw als repository wordt geregistreerd. Probeer daarna de installatie opnieuw.
  • Fouten over PowerShellGetFormatVersion, of over het niet kunnen downloaden van providers. Werk PowerShellGet bij en start PowerShell opnieuw.
  • Download mislukt op een oudere Windows PowerShell 5.1-machine. De PowerShell Gallery vereist TLS 1.2 of hoger. Microsoft verwijst voor de details naar een blogpost over de TLS-ondersteuning van de gallery.
  • "Files cannot be loaded because running scripts is disabled on this system". Stel het uitvoeringsbeleid in zoals hierboven beschreven, als beheerder.
  • "Cannot find a cmdlet Update-Manifest" of een vergelijkbare melding over Update-ModuleManifest bij het verbinden. PowerShellGet of PackageManagement ontbreekt. Installeer beide en start PowerShell opnieuw.

Als een installatie wel slaagt maar de verbinding later faalt met een vreemde assemblyfout, ligt de oorzaak meestal bij een andere module in dezelfde sessie. Open een nieuw venster en maak eerst verbinding.

Veelgemaakte fouten

  • Scopes door elkaar halen. Eenmaal voor alle gebruikers installeren en later bijwerken met -Scope CurrentUser zorgt voor twee versies op de machine. Kies één scope en houd die aan.
  • De verkeerde PowerShell-versie voor de module gebruiken. De nieuwste module werkt niet goed met een oudere PowerShell 7 en faalt op manieren die op verbindingsfouten lijken. Vergelijk je versies met de tabel hierboven.
  • Een preview-versie op een productiehost installeren. Preview-versies zijn bedoeld voor testen. Gebruik voor het dagelijkse werk de publieke versie.
  • PowerShellGet negeren. Een ontbrekende of preview-versie van PowerShellGet kan REST-verbindingen breken, zoals de pagina van Microsoft beschrijft. Controleer dit eerst wanneer een verse installatie niet wil verbinden.
  • Oude tutorials volgen. Handleidingen die je vertellen om Basic-authenticatie in WinRM in te schakelen, beschrijven de uitgefaseerde methode voor remote PowerShell. Dat heb je niet nodig.

Gerelateerde onderwerpen om te verkennen

  • Verbinden met de module: zodra de module is geïnstalleerd, is de volgende vraag hoe je je aanmeldt, met of zonder MFA. Het artikel over de Exchange Online PowerShell-module en het bijbehorende verbindingsartikel behandelen dit.
  • Authenticatie zonder gebruiker (app-only): geplande scripts hebben een certificaat of een beheerde identiteit nodig, geen getypt wachtwoord.
  • De module gebruiken in PowerShell 7 op Linux en macOS: welke versies ondersteund worden, verschilt per besturingssysteem, dus controleer eerst de compatibiliteitslijst.
  • Bepalen wie PowerShell mag gebruiken: een Exchange-beheerder kan per gebruiker de toegang tot Exchange Online PowerShell inschakelen of uitschakelen.
  • Modules actueel houden: stel een vaste herinnering in om te controleren op nieuwe moduleversies, want Microsoft verhoogt af en toe de minimale PowerShell-versie.

Volgende stap

Om de Exchange Online PowerShell-module te installeren, voer je Install-Module -Name ExchangeOnlineManagement uit, controleer je de installatie met Get-InstalledModule en gebruik je bij elke latere update steeds dezelfde scope. Maak daarna verbinding met Connect-ExchangeOnline in een nieuw venster en voer Get-AcceptedDomain uit om te bewijzen dat de setup werkt.

Entities in this article

Exchange Online PowerShell PowerShell

Related articles

RSS